{"version":3,"file":"script_main.Cy0DAcF2.mjs","names":["useRef","React.useId","PropertyOverrides","React.createElement","Main","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.LibraryFeaturesProvider","Framer.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","breakpoints","Framer.patchRoutesForABTesting","routeData","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder"],"sources":["https:/framerusercontent.com/modules/cAoShoUxz0GT9TryjFhl/PWB7UrVsebn2OV3xYhJp/E1l0vIdTB.js","framer:toplevel/main"],"sourcesContent":["// Generated by Framer (bc931d3)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,PropertyOverrides,RenderTarget,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Embed from\"https://framerusercontent.com/modules/o1PI5S8YtkA5bP5g4dFz/s801VqobGI0Gkh3K9b41/Embed.js\";const EmbedFonts=getFonts(Embed);const breakpoints={HFeHkJKh_:\"(min-width: 1400px)\",qmJ5Hp6o4:\"(min-width: 810px) and (max-width: 1399.98px)\",tj8NNS89c:\"(max-width: 809.98px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-99CLf\";const variantClassNames={HFeHkJKh_:\"framer-v-eed01y\",qmJ5Hp6o4:\"framer-v-16t95dv\",tj8NNS89c:\"framer-v-zxzbhj\"};const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-99CLf.framer-9u1kt8, .framer-99CLf .framer-9u1kt8 { display: block; }\",\".framer-99CLf.framer-eed01y { align-content: center; align-items: center; background-color: var(--token-dba0e478-c4b7-4617-9a21-b64b53c91fc4, #ffffff); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-99CLf .framer-1gby5nb-container { flex: none; height: auto; order: -1000; position: relative; width: 100%; }\",\".framer-99CLf .framer-qme3za { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-99CLf .framer-1n5s0hv-container { flex: none; height: auto; order: 1002; position: relative; width: 100%; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const mediaQueries={HFeHkJKh_:\"(min-width: 1400px)\",qmJ5Hp6o4:\"(min-width: 810px) and (max-width: 1399.98px)\",tj8NNS89c:\"(max-width: 809.98px)\"};const humanReadableVariantMap={Desktop:\"HFeHkJKh_\",Phone:\"tj8NNS89c\",Tablet:\"qmJ5Hp6o4\"};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??\"HFeHkJKh_\"};};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:\"HFeHkJKh_\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-dba0e478-c4b7-4617-9a21-b64b53c91fc4, rgb(255, 255, 255)); } :root { font-size: 100%; }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-eed01y\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1gby5nb-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"hOeounn7a\",scopeId:\"E1l0vIdTB\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{tj8NNS89c:{html:'<!DOCTYPE html>\\n<html lang=\"en\">\\n<head>\\n  <meta charset=\"UTF-8\" />\\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\\n  <title>Palcode AgencyHeader</title>\\n  <style>\\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\\n\\n    body {\\n      font-family: -apple-system, BlinkMacSystemFont, \\'Segoe UI\\', sans-serif;\\n      background: #f9fafb;\\n    }\\n\\n    /* ── Header ── */\\n    .header {\\n      width: 100%;\\n      background: #ffffff;\\n      border-bottom: 1px solid #e5e7eb;\\n      position: sticky;\\n      top: 0;\\n      z-index: 1000;\\n    }\\n\\n    .nav-inner {\\n      max-width: 1100px;\\n      margin: 0 auto;\\n      padding: 0 24px;\\n      height: 68px;\\n      display: flex;\\n      align-items: center;\\n      justify-content: space-between;\\n      gap: 16px;\\n    }\\n\\n    /* ── Logo ── */\\n    .logo {\\n      display: flex;\\n      align-items: center;\\n      gap: 10px;\\n      text-decoration: none;\\n      flex-shrink: 0;\\n    }\\n\\n    .logo-icon {\\n      width: 36px;\\n      height: 36px;\\n      background: #111;\\n      border-radius: 10px;\\n      display: flex;\\n      align-items: center;\\n      justify-content: center;\\n    }\\n\\n    .logo-icon svg { width: 16px; height: 16px; }\\n\\n    .logo-name {\\n      font-size: 17px;\\n      font-weight: 600;\\n      color: #111;\\n      letter-spacing: -0.3px;\\n    }\\n\\n    /* ── Nav Links ── */\\n    .nav-links {\\n      display: flex;\\n      align-items: center;\\n      gap: 4px;\\n    }\\n\\n    .nav-links a {\\n      font-size: 14px;\\n      font-weight: 400;\\n      color: #555;\\n      text-decoration: none;\\n      padding: 7px 13px;\\n      border-radius: 8px;\\n      transition: background 0.15s, color 0.15s;\\n      white-space: nowrap;\\n    }\\n\\n    .nav-links a:hover { background: #f3f4f6; color: #111; }\\n    .nav-links a.active { color: #111; font-weight: 500; }\\n\\n    /* ── CTA Button ── */\\n    .nav-cta a {\\n      display: inline-flex;\\n      align-items: center;\\n      gap: 6px;\\n      background: #111;\\n      color: #fff;\\n      font-size: 14px;\\n      font-weight: 500;\\n      padding: 9px 20px;\\n      border-radius: 50px;\\n      text-decoration: none;\\n      transition: background 0.15s, transform 0.1s;\\n      white-space: nowrap;\\n    }\\n\\n    .nav-cta a:hover { background: #333; }\\n    .nav-cta a:active { transform: scale(0.97); }\\n    .nav-cta a svg { width: 13px; height: 13px; stroke: #fff; flex-shrink: 0; }\\n\\n    /* ── Hamburger ── */\\n    .hamburger {\\n      display: none;\\n      flex-direction: column;\\n      gap: 5px;\\n      cursor: pointer;\\n      padding: 6px;\\n      border: none;\\n      background: none;\\n      border-radius: 8px;\\n    }\\n\\n    .hamburger span {\\n      display: block;\\n      width: 22px;\\n      height: 2px;\\n      background: #111;\\n      border-radius: 2px;\\n      transition: all 0.25s;\\n    }\\n\\n    .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }\\n    .hamburger.open span:nth-child(2) { opacity: 0; }\\n    .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }\\n\\n    /* ── Mobile Menu ── */\\n    .mobile-menu {\\n      display: none;\\n      flex-direction: column;\\n      padding: 12px 16px 16px;\\n      border-top: 1px solid #e5e7eb;\\n      background: #fff;\\n    }\\n\\n    .mobile-menu.open { display: flex; }\\n\\n    .mobile-menu a {\\n      font-size: 15px;\\n      color: #444;\\n      text-decoration: none;\\n      padding: 11px 12px;\\n      border-radius: 8px;\\n      font-weight: 400;\\n      transition: background 0.12s, color 0.12s;\\n    }\\n\\n    .mobile-menu a:hover { background: #f3f4f6; color: #111; }\\n    .mobile-menu a.active { color: #111; font-weight: 500; }\\n\\n    .mobile-menu .mob-cta {\\n      margin-top: 8px;\\n      background: #111;\\n      color: #fff !important;\\n      text-align: center;\\n      border-radius: 50px;\\n      font-weight: 500;\\n    }\\n\\n    .mobile-menu .mob-cta:hover { background: #333 !important; }\\n\\n    /* ── Responsive ── */\\n    @media (max-width: 820px) {\\n      .nav-links, .nav-cta { display: none; }\\n      .hamburger { display: flex; }\\n    }\\n\\n    /* ── Demo Page Content ── */\\n    .page-hero {\\n      max-width: 1100px;\\n      margin: 80px auto;\\n      padding: 0 24px;\\n      text-align: center;\\n    }\\n\\n    .page-hero h1 {\\n      font-size: 42px;\\n      font-weight: 700;\\n      color: #111;\\n      letter-spacing: -1px;\\n      margin-bottom: 16px;\\n    }\\n\\n    .page-hero p {\\n      font-size: 17px;\\n      color: #6b7280;\\n      max-width: 480px;\\n      margin: 0 auto;\\n      line-height: 1.6;\\n    }\\n  </style>\\n</head>\\n<body>\\n\\n<header class=\"header\">\\n  <div class=\"nav-inner\">\\n\\n    <!-- Logo -->\\n    <a href=\"#\" class=\"logo\">\\n      <div class=\"logo-icon\">\\n        <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n          <circle cx=\"8\" cy=\"8\" r=\"3\" stroke=\"#fff\" stroke-width=\"1.5\"/>\\n        </svg>\\n      </div>\\n      <span class=\"logo-name\">Palcode Agency</span>\\n    </a>\\n\\n    <!-- Desktop Nav -->\\n    <nav class=\"nav-links\">\\n      <a href=\"#\" class=\"active\">Home</a>\\n      <a href=\"#\">Solutions</a>\\n      <a href=\"#\">Industries</a>\\n      <a href=\"#\">Integrations</a>\\n      <a href=\"#\">Results</a>\\n    </nav>\\n\\n    <!-- CTA -->\\n    <div class=\"nav-cta\">\\n      <a href=\"#\">\\n        Book a Demo\\n        <svg viewBox=\"0 0 13 13\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n          <path d=\"M2.5 10.5L10.5 2.5M10.5 2.5H5M10.5 2.5V8\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\\n        </svg>\\n      </a>\\n    </div>\\n\\n    <!-- Hamburger -->\\n    <button class=\"hamburger\" id=\"hamburger\" aria-label=\"Toggle menu\" aria-expanded=\"false\">\\n      <span></span><span></span><span></span>\\n    </button>\\n\\n  </div>\\n\\n  <!-- Mobile Menu -->\\n  <nav class=\"mobile-menu\" id=\"mobileMenu\">\\n    <a href=\"#\" class=\"active\">Home</a>\\n    <a href=\"#\">Solutions</a>\\n    <a href=\"#\">Industries</a>\\n    <a href=\"#\">Integrations</a>\\n    <a href=\"#\">Results</a>\\n    <a href=\"#\" class=\"mob-cta\">Book a Demo →</a>\\n  </nav>\\n</header>\\n\\n\\n\\n<script>\\n  const btn = document.getElementById(\\'hamburger\\');\\n  const menu = document.getElementById(\\'mobileMenu\\');\\n\\n  btn.addEventListener(\\'click\\', () => {\\n    const open = menu.classList.toggle(\\'open\\');\\n    btn.classList.toggle(\\'open\\', open);\\n    btn.setAttribute(\\'aria-expanded\\', open);\\n  });\\n\\n  // Active link highlight\\n  const allLinks = document.querySelectorAll(\\'.nav-links a, .mobile-menu a:not(.mob-cta)\\');\\n  allLinks.forEach(link => {\\n    link.addEventListener(\\'click\\', e => {\\n      e.preventDefault();\\n      const text = link.textContent.trim();\\n      allLinks.forEach(l => {\\n        l.classList.toggle(\\'active\\', l.textContent.trim() === text);\\n      });\\n      // Close mobile menu on link click\\n      menu.classList.remove(\\'open\\');\\n      btn.classList.remove(\\'open\\');\\n      btn.setAttribute(\\'aria-expanded\\', \\'false\\');\\n    });\\n  });\\n</script>\\n\\n</body>\\n</html>'}},children:/*#__PURE__*/_jsx(Embed,{height:\"100%\",html:'<!DOCTYPE html>\\n<html lang=\"en\">\\n<head>\\n  <meta charset=\"UTF-8\" />\\n  <title>Palcode Agency Header </title>\\n\\n  <style>\\n    /* Reset */\\n    * {\\n      box-sizing: border-box;\\n      margin: 0;\\n      padding: 0;\\n    }\\n\\n    body {\\n      font-family: -apple-system, BlinkMacSystemFont, \\'Segoe UI\\', sans-serif;\\n      background: #f9fafb;\\n    }\\n\\n    /* Header */\\n    .header {\\n      width: 100%;\\n      background: #ffffff;\\n      border-bottom: 1px solid #e5e7eb;\\n      position: sticky;\\n      top: 0;\\n      z-index: 1000;\\n    }\\n\\n    .nav-inner {\\n      max-width: 1100px;\\n      margin: 0 auto;\\n      padding: 0 24px;\\n      height: 68px;\\n      display: flex;\\n      align-items: center;\\n      justify-content: space-between;\\n    }\\n\\n    /* Logo */\\n    .logo {\\n      display: flex;\\n      align-items: center;\\n      gap: 10px;\\n      text-decoration: none;\\n    }\\n\\n    .logo-icon {\\n      width: 36px;\\n      height: 36px;\\n      background: #111;\\n      border-radius: 10px;\\n      display: flex;\\n      align-items: center;\\n      justify-content: center;\\n    }\\n\\n    .logo-name {\\n      font-size: 17px;\\n      font-weight: 600;\\n      color: #111;\\n    }\\n\\n    /* Nav Links */\\n    .nav-links {\\n      display: flex;\\n      gap: 6px;\\n    }\\n\\n    .nav-links a {\\n      font-size: 14px;\\n      color: #555;\\n      text-decoration: none;\\n      padding: 7px 13px;\\n      border-radius: 8px;\\n      transition: 0.2s;\\n    }\\n\\n    .nav-links a:hover {\\n      background: #f3f4f6;\\n      color: #111;\\n    }\\n\\n    .nav-links a.active {\\n      color: #111;\\n      font-weight: 500;\\n    }\\n\\n    /* CTA */\\n    .nav-cta a {\\n      display: inline-flex;\\n      align-items: center;\\n      gap: 6px;\\n      background: #111;\\n      color: #fff;\\n      font-size: 14px;\\n      padding: 9px 20px;\\n      border-radius: 50px;\\n      text-decoration: none;\\n      transition: 0.2s;\\n    }\\n\\n    .nav-cta a:hover {\\n      background: #333;\\n    }\\n  </style>\\n</head>\\n\\n<body>\\n\\n  <header class=\"header\">\\n    <div class=\"nav-inner\">\\n\\n      <!-- Logo -->\\n      <a href=\"#\" class=\"logo\">\\n        <div class=\"logo-icon\">\\n          <svg viewBox=\"0 0 16 16\" fill=\"none\">\\n            <circle cx=\"8\" cy=\"8\" r=\"3\" stroke=\"#fff\" stroke-width=\"1.5\" />\\n          </svg>\\n        </div>\\n        <span class=\"logo-name\">Palcode Agency</span>\\n      </a>\\n\\n      <!-- Navigation -->\\n      <nav class=\"nav-links\">\\n        <a href=\"#\" class=\"active\">Home</a>\\n        <a href=\"#\">Solutions</a>\\n        <a href=\"#\">Industries</a>\\n        <a href=\"#\">Integrations</a>\\n        <a href=\"#\">Results</a>\\n      </nav>\\n\\n      <!-- CTA -->\\n      <div class=\"nav-cta\">\\n        <a href=\"https://palcode.agency/contacts\">\\n          Book a Demo →\\n        </a>\\n      </div>\\n\\n    </div>\\n  </header>\\n\\n</body>\\n</html>',id:\"hOeounn7a\",layoutId:\"hOeounn7a\",radius:\"0px\",style:{width:\"100%\"},type:\"html\",url:\"\",width:\"100%\",zoom:1})})})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-qme3za\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1n5s0hv-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"fT8eV0GQb\",scopeId:\"E1l0vIdTB\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{tj8NNS89c:{html:'<!DOCTYPE html>\\n<html lang=\"en\">\\n<head>\\n  <meta charset=\"UTF-8\" />\\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\\n  <title>Palcode Footer</title>\\n  <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\\n  <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\\n  <link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\\n  <style>\\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\\n\\n    :root {\\n      --bg:           #ffffff;\\n      --surface:      #f4f4f5;\\n      --surface2:     #e4e4e7;\\n      --border:       #d4d4d8;\\n      --border-hover: #a1a1aa;\\n      --ink:          #09090b;\\n      --ink-2:        #27272a;\\n      --ink-3:        #3f3f46;\\n      --muted:        #71717a;\\n      --subtle:       #a1a1aa;\\n      --green:        #16a34a;\\n      --green-bg:     #f0fdf4;\\n      --green-border: #bbf7d0;\\n      --font:         \\'Inter\\', sans-serif;\\n      --r-sm:         6px;\\n      --r-md:         8px;\\n      --r-lg:         12px;\\n    }\\n\\n    html { scroll-behavior: smooth; }\\n\\n    body {\\n      background: var(--bg);\\n      color: var(--ink);\\n      font-family: var(--font);\\n      -webkit-font-smoothing: antialiased;\\n      -moz-osx-font-smoothing: grayscale;\\n    }\\n\\n    /* ════════════════════════\\n       TICKER\\n    ════════════════════════ */\\n    .ticker-wrap {\\n      overflow: hidden;\\n      border-bottom: 1px solid var(--border);\\n      background: var(--surface);\\n      padding: 10px 0;\\n    }\\n    .ticker-track {\\n      display: flex;\\n      width: max-content;\\n      animation: ticker 36s linear infinite;\\n    }\\n    .ticker-track:hover { animation-play-state: paused; }\\n    .ticker-item {\\n      font-size: 11px;\\n      font-weight: 500;\\n      letter-spacing: 0.06em;\\n      color: var(--muted);\\n      text-transform: uppercase;\\n      white-space: nowrap;\\n      padding: 0 1.75rem;\\n      display: flex;\\n      align-items: center;\\n      gap: 1.75rem;\\n    }\\n    .ticker-item::after {\\n      content: \\'\\xb7\\';\\n      font-size: 18px;\\n      color: var(--border-hover);\\n      line-height: 0;\\n    }\\n\\n    /* ════════════════════════\\n       FOOTER SHELL\\n    ════════════════════════ */\\n    footer {\\n      background: var(--bg);\\n      border-top: 1px solid var(--border);\\n    }\\n\\n    .footer-inner {\\n      max-width: 1180px;\\n      margin: 0 auto;\\n      padding: 3.5rem 2.5rem 0;\\n    }\\n\\n    /* ════════════════════════\\n       BRAND ROW — Desktop: 3-col grid\\n    ════════════════════════ */\\n    .footer-brand {\\n      display: grid;\\n      grid-template-columns: 220px 1fr auto;\\n      align-items: start;\\n      gap: 2.5rem;\\n      padding-bottom: 2.5rem;\\n      border-bottom: 1px solid var(--border);\\n    }\\n\\n    /* Logo column */\\n    .logo-col {\\n      display: flex;\\n      flex-direction: column;\\n      gap: 1rem;\\n    }\\n    .logo-wrap {\\n      display: flex;\\n      align-items: center;\\n      gap: 10px;\\n      opacity: 0;\\n      transform: translateY(10px);\\n      animation: fadeUp 0.55s ease 0.05s forwards;\\n    }\\n    .logo-mark {\\n      width: 36px; height: 36px;\\n      border-radius: var(--r-md);\\n      background: var(--ink);\\n      display: flex; align-items: center; justify-content: center;\\n      flex-shrink: 0;\\n    }\\n    .logo-name {\\n      font-size: 17px;\\n      font-weight: 700;\\n      color: var(--ink);\\n      letter-spacing: -0.03em;\\n    }\\n    .logo-name span { color: var(--muted); font-weight: 500; }\\n\\n    .brand-tagline {\\n      font-size: 13px;\\n      line-height: 1.7;\\n      color: var(--ink-3);\\n      font-weight: 400;\\n      opacity: 0;\\n      transform: translateY(10px);\\n      animation: fadeUp 0.55s ease 0.15s forwards;\\n    }\\n\\n    .social-links {\\n      display: flex;\\n      gap: 7px;\\n      opacity: 0;\\n      transform: translateY(10px);\\n      animation: fadeUp 0.55s ease 0.25s forwards;\\n    }\\n    .social-btn {\\n      width: 32px; height: 32px;\\n      border-radius: var(--r-sm);\\n      border: 1px solid var(--border);\\n      background: var(--bg);\\n      display: flex; align-items: center; justify-content: center;\\n      text-decoration: none;\\n      color: var(--ink-3);\\n      transition: background 0.15s, border-color 0.15s, transform 0.15s;\\n      flex-shrink: 0;\\n    }\\n    .social-btn:hover {\\n      background: var(--surface);\\n      border-color: var(--border-hover);\\n      transform: translateY(-1px);\\n    }\\n\\n    /* Description */\\n    .brand-desc {\\n      opacity: 0;\\n      transform: translateY(10px);\\n      animation: fadeUp 0.55s ease 0.20s forwards;\\n      padding-top: 2px;\\n    }\\n    .brand-desc p {\\n      font-size: 14px;\\n      line-height: 1.8;\\n      color: var(--ink-3);\\n      font-weight: 400;\\n    }\\n\\n    /* CTA */\\n    .brand-cta {\\n      opacity: 0;\\n      transform: translateY(10px);\\n      animation: fadeUp 0.55s ease 0.30s forwards;\\n    }\\n    .cta-btn {\\n      display: inline-flex;\\n      align-items: center;\\n      gap: 8px;\\n      font-family: var(--font);\\n      font-size: 14px;\\n      font-weight: 600;\\n      color: #fff;\\n      text-decoration: none;\\n      background: var(--ink);\\n      border: 1px solid var(--ink);\\n      padding: 11px 20px;\\n      border-radius: var(--r-md);\\n      letter-spacing: -0.01em;\\n      white-space: nowrap;\\n      transition: background 0.2s, transform 0.15s, box-shadow 0.2s;\\n    }\\n    .cta-btn:hover {\\n      background: var(--ink-2);\\n      transform: translateY(-1px);\\n      box-shadow: 0 4px 14px rgba(9,9,11,0.14);\\n    }\\n    .cta-btn svg { transition: transform 0.2s; flex-shrink: 0; }\\n    .cta-btn:hover svg { transform: translateX(3px); }\\n\\n    /* ════════════════════════\\n       NAV GRID — Desktop 4-col\\n    ════════════════════════ */\\n    .footer-nav {\\n      display: grid;\\n      grid-template-columns: repeat(4, 1fr);\\n      gap: 2.5rem;\\n      padding: 2.5rem 0 2rem;\\n    }\\n\\n    .nav-group {\\n      opacity: 0;\\n      transform: translateY(14px);\\n    }\\n    .nav-group:nth-child(1) { animation: fadeUp 0.5s ease 0.18s forwards; }\\n    .nav-group:nth-child(2) { animation: fadeUp 0.5s ease 0.26s forwards; }\\n    .nav-group:nth-child(3) { animation: fadeUp 0.5s ease 0.34s forwards; }\\n    .nav-group:nth-child(4) { animation: fadeUp 0.5s ease 0.42s forwards; }\\n\\n    .nav-label {\\n      font-size: 11px;\\n      font-weight: 700;\\n      letter-spacing: 0.08em;\\n      text-transform: uppercase;\\n      color: var(--ink);\\n      margin-bottom: 0.9rem;\\n    }\\n    .divider-label { margin-top: 1.5rem; }\\n\\n    .nav-links { display: flex; flex-direction: column; gap: 8px; }\\n    .nav-links a {\\n      font-size: 14px;\\n      font-weight: 500;\\n      color: var(--muted);\\n      text-decoration: none;\\n      display: inline-flex;\\n      align-items: center;\\n      transition: color 0.15s;\\n    }\\n    .nav-links a span.arrow {\\n      font-size: 11px;\\n      opacity: 0;\\n      margin-left: 0;\\n      transform: translateX(-3px);\\n      transition: opacity 0.15s, transform 0.15s, margin 0.15s;\\n      display: inline-block;\\n    }\\n    .nav-links a:hover { color: var(--ink); }\\n    .nav-links a:hover span.arrow { opacity: 1; transform: translateX(0); margin-left: 4px; }\\n\\n    /* Contact chips */\\n    .contact-chips { display: flex; flex-direction: column; gap: 7px; }\\n    .chip {\\n      display: inline-flex;\\n      align-items: center;\\n      gap: 7px;\\n      font-size: 13px;\\n      font-weight: 500;\\n      text-decoration: none;\\n      padding: 8px 12px;\\n      border-radius: var(--r-sm);\\n      border: 1px solid;\\n      transition: background 0.15s, transform 0.15s;\\n      width: fit-content;\\n      max-width: 100%;\\n      white-space: nowrap;\\n      overflow: hidden;\\n      text-overflow: ellipsis;\\n    }\\n    .chip:hover { transform: translateY(-1px); }\\n    .chip svg { flex-shrink: 0; }\\n    .chip-email { color: var(--ink-2); background: var(--surface); border-color: var(--border); }\\n    .chip-email:hover { background: var(--surface2); }\\n    .chip-wa { color: var(--green); background: var(--green-bg); border-color: var(--green-border); }\\n    .chip-wa:hover { background: #dcfce7; }\\n\\n    /* Status */\\n    .status-row { display: flex; align-items: center; gap: 7px; margin-bottom: 0.65rem; }\\n    .status-dot {\\n      width: 7px; height: 7px;\\n      border-radius: 50%;\\n      background: var(--green);\\n      animation: pulse 2.5s ease infinite;\\n      flex-shrink: 0;\\n    }\\n    .status-text { font-size: 13px; color: var(--green); font-weight: 600; }\\n    .status-desc { font-size: 13px; color: var(--muted); line-height: 1.7; font-weight: 400; }\\n\\n    /* ════════════════════════\\n       BOTTOM BAR\\n    ════════════════════════ */\\n    .footer-bottom {\\n      max-width: 1180px;\\n      margin: 0 auto;\\n      padding: 1.25rem 2.5rem;\\n      border-top: 1px solid var(--border);\\n      display: flex;\\n      align-items: center;\\n      justify-content: space-between;\\n      gap: 0.75rem;\\n      flex-wrap: wrap;\\n      opacity: 0;\\n      animation: fadeUp 0.55s ease 0.6s forwards;\\n    }\\n    .bottom-left { font-size: 13px; color: var(--muted); font-weight: 400; }\\n    .bottom-left strong { color: var(--ink-3); font-weight: 600; }\\n    .bottom-right { display: flex; align-items: center; gap: 5px; font-size: 13px; color: var(--muted); flex-wrap: wrap; }\\n    .bottom-right .accent { color: var(--ink-3); font-weight: 600; }\\n    .badge {\\n      display: inline-flex; align-items: center; gap: 4px;\\n      font-size: 11px; font-weight: 600; letter-spacing: 0.04em;\\n      color: var(--ink-2); background: var(--surface);\\n      border: 1px solid var(--border); padding: 3px 8px;\\n      border-radius: 100px;\\n    }\\n    .badge-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--green); }\\n\\n    /* ════════════════════════\\n       ACCORDION (mobile only)\\n    ════════════════════════ */\\n    .acc-header {\\n      display: none;\\n      width: 100%;\\n      background: none;\\n      border: none;\\n      border-bottom: 1px solid var(--border);\\n      padding: 1rem 0;\\n      cursor: pointer;\\n      justify-content: space-between;\\n      align-items: center;\\n      -webkit-tap-highlight-color: transparent;\\n    }\\n    .acc-label {\\n      font-size: 12px;\\n      font-weight: 700;\\n      letter-spacing: 0.06em;\\n      text-transform: uppercase;\\n      color: var(--ink);\\n      text-align: left;\\n    }\\n    .acc-icon {\\n      width: 20px; height: 20px;\\n      display: flex; align-items: center; justify-content: center;\\n      transition: transform 0.3s;\\n      flex-shrink: 0;\\n    }\\n    .acc-icon svg { stroke: var(--muted); }\\n    .acc-header.acc-open .acc-icon { transform: rotate(180deg); }\\n    .acc-body { display: block; }\\n\\n    /* ════════════════════════\\n       KEYFRAMES\\n    ════════════════════════ */\\n    @keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }\\n    @keyframes pulse {\\n      0%   { box-shadow: 0 0 0 0 rgba(22,163,74,0.4); }\\n      70%  { box-shadow: 0 0 0 7px rgba(22,163,74,0); }\\n      100% { box-shadow: 0 0 0 0 rgba(22,163,74,0); }\\n    }\\n    @keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }\\n\\n    /* ════════════════════════\\n       BREAKPOINTS\\n    ════════════════════════ */\\n\\n    /* ── Laptop 1100px ── */\\n    @media (max-width: 1100px) {\\n      .footer-inner  { padding: 3rem 2rem 0; }\\n      .footer-bottom { padding: 1.25rem 2rem; }\\n      .footer-brand  { grid-template-columns: 200px 1fr auto; gap: 2rem; }\\n      .footer-nav    { gap: 2rem; }\\n    }\\n\\n    /* ── Tablet landscape 900px ── */\\n    @media (max-width: 900px) {\\n      .footer-inner { padding: 2.5rem 1.75rem 0; }\\n      .footer-bottom { padding: 1.25rem 1.75rem; }\\n\\n      .footer-brand {\\n        grid-template-columns: 1fr 1fr;\\n        grid-template-rows: auto auto;\\n        row-gap: 1.75rem;\\n        column-gap: 2rem;\\n      }\\n      .logo-col   { grid-column: 1; grid-row: 1; }\\n      .brand-cta  { grid-column: 2; grid-row: 1; justify-self: end; align-self: start; }\\n      .brand-desc { grid-column: 1 / -1; grid-row: 2; }\\n      .brand-desc p { max-width: 100%; }\\n\\n      .footer-nav { grid-template-columns: repeat(2, 1fr); gap: 2rem 2.5rem; }\\n    }\\n\\n    /* ── Tablet portrait / large phone 700px ── */\\n    @media (max-width: 700px) {\\n      .footer-inner  { padding: 2rem 1.25rem 0; }\\n      .footer-bottom {\\n        padding: 1.25rem 1.25rem;\\n        flex-direction: column;\\n        align-items: flex-start;\\n        gap: 0.5rem;\\n      }\\n\\n      /* Brand: single column */\\n      .footer-brand {\\n        grid-template-columns: 1fr;\\n        grid-template-rows: auto auto auto;\\n        gap: 1.25rem;\\n      }\\n      .logo-col   { grid-column: 1; grid-row: 1; }\\n      .brand-desc { grid-column: 1; grid-row: 2; }\\n      .brand-cta  { grid-column: 1; grid-row: 3; justify-self: stretch; }\\n      .cta-btn    { width: 100%; justify-content: center; }\\n\\n      /* Accordion nav */\\n      .footer-nav {\\n        display: flex;\\n        flex-direction: column;\\n        gap: 0;\\n        padding: 0.25rem 0;\\n      }\\n      .nav-group {\\n        border-bottom: 1px solid var(--border);\\n        opacity: 1;\\n        transform: none;\\n        animation: none;\\n        padding: 0;\\n      }\\n      .acc-header { display: flex; }\\n      .nav-label  { display: none; }\\n      .divider-label { display: none; }\\n\\n      .acc-body {\\n        overflow: hidden;\\n        max-height: 0;\\n        transition: max-height 0.35s ease, padding 0.3s ease;\\n        padding: 0;\\n      }\\n      .acc-body.acc-open {\\n        max-height: 500px;\\n        padding: 1rem 0 1.25rem;\\n      }\\n\\n      .nav-links a   { font-size: 15px; padding: 3px 0; }\\n      .chip          { font-size: 14px; padding: 10px 14px; }\\n      .status-text,\\n      .status-desc   { font-size: 14px; }\\n    }\\n\\n    /* ── Phone 480px ── */\\n    @media (max-width: 480px) {\\n      .footer-inner  { padding: 1.75rem 1rem 0; }\\n      .footer-bottom { padding: 1.1rem 1rem; }\\n      .logo-name     { font-size: 16px; }\\n      .logo-mark     { width: 34px; height: 34px; }\\n      .ticker-item   { font-size: 10px; padding: 0 1.25rem; }\\n      .brand-tagline,\\n      .brand-desc p  { font-size: 13px; }\\n      .cta-btn       { font-size: 14px; padding: 12px 18px; }\\n      .bottom-left,\\n      .bottom-right  { font-size: 12px; }\\n    }\\n\\n    /* ── Small phone 360px ── */\\n    @media (max-width: 360px) {\\n      .footer-inner  { padding: 1.5rem 0.875rem 0; }\\n      .footer-bottom { padding: 1rem 0.875rem; }\\n      .logo-name     { font-size: 15px; }\\n      .logo-mark     { width: 30px; height: 30px; border-radius: 6px; }\\n      .logo-mark svg { width: 17px; height: 17px; }\\n      .cta-btn       { font-size: 13px; padding: 11px 14px; }\\n      .chip          { font-size: 13px; padding: 9px 11px; }\\n      .ticker-item   { font-size: 9px; padding: 0 1rem; }\\n    }\\n\\n    /* ── No hover (touch) ── */\\n    @media (hover: none) {\\n      .nav-links a span.arrow { display: none; }\\n      .cta-btn:hover, .chip:hover, .social-btn:hover { transform: none; box-shadow: none; }\\n    }\\n  </style>\\n</head>\\n<body>\\n\\n<footer>\\n\\n  <!-- TICKER -->\\n \\n\\n  <div class=\"footer-inner\">\\n\\n    <!-- BRAND ROW -->\\n    <div class=\"footer-brand\">\\n\\n      <!-- Logo + tagline + socials -->\\n      <div class=\"logo-col\">\\n        <div class=\"logo-wrap\">\\n          <div class=\"logo-mark\">\\n            <svg width=\"20\" height=\"20\" viewBox=\"0 0 22 22\" fill=\"none\">\\n              <circle cx=\"11\" cy=\"11\" r=\"7.5\" stroke=\"#fff\" stroke-width=\"1.5\"/>\\n              <path d=\"M7.5 11h7M11 7.5v7\" stroke=\"#fff\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\\n              <circle cx=\"11\" cy=\"11\" r=\"2\" fill=\"#fff\"/>\\n            </svg>\\n          </div>\\n          <div class=\"logo-name\">palcode<span>.agency</span></div>\\n        </div>\\n        <p class=\"brand-tagline\">Intelligent automation for modern service businesses.</p>\\n        <div class=\"social-links\">\\n          <a href=\"#\" class=\"social-btn\" aria-label=\"LinkedIn\">\\n            <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\\n              <path d=\"M16 8a6 6 0 016 6v7h-4v-7a2 2 0 00-2-2 2 2 0 00-2 2v7h-4v-7a6 6 0 016-6zM2 9h4v12H2z\"/>\\n              <circle cx=\"4\" cy=\"4\" r=\"2\"/>\\n            </svg>\\n          </a>\\n          <a href=\"#\" class=\"social-btn\" aria-label=\"Twitter / X\">\\n            <svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\\n              <path d=\"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231 5.45-6.231zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77z\"/>\\n            </svg>\\n          </a>\\n          <a href=\"#\" class=\"social-btn\" aria-label=\"GitHub\">\\n            <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\\n              <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z\"/>\\n            </svg>\\n          </a>\\n        </div>\\n      </div>\\n\\n      <!-- Description -->\\n      <div class=\"brand-desc\">\\n        <p>We build intelligent automation systems that streamline operations and unlock measurable growth for modern service businesses — from home services to healthcare and real estate.</p>\\n      </div>\\n\\n      <!-- CTA -->\\n      <div class=\"brand-cta\">\\n        <a href=\"mailto:hello@palcode.ai\" class=\"cta-btn\">\\n          Start a project\\n          <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\\n            <path d=\"M2 7h10M8 3l4 4-4 4\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\\n          </svg>\\n        </a>\\n      </div>\\n\\n    </div><!-- /footer-brand -->\\n\\n    <!-- NAV GRID / ACCORDION -->\\n    <nav class=\"footer-nav\" aria-label=\"Footer navigation\">\\n\\n      <!-- Col 1: Solutions & Industries -->\\n      <div class=\"nav-group\">\\n        <button class=\"acc-header\" aria-expanded=\"false\" aria-controls=\"acc1\">\\n          <span class=\"acc-label\">Solutions &amp; Industries</span>\\n          <span class=\"acc-icon\"><svg width=\"14\" height=\"14\" fill=\"none\" stroke-width=\"2\" viewBox=\"0 0 14 14\"><path d=\"M2 4.5l5 5 5-5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></span>\\n        </button>\\n        <div class=\"acc-body\" id=\"acc1\">\\n          <p class=\"nav-label\">Solutions</p>\\n          <div class=\"nav-links\">\\n            <a href=\"#\">Flow Builder<span class=\"arrow\">→</span></a>\\n            <a href=\"#\">Integrations<span class=\"arrow\">→</span></a>\\n          </div>\\n          <p class=\"nav-label divider-label\">Industries</p>\\n          <div class=\"nav-links\">\\n            <a href=\"#\">Home &amp; Field Services<span class=\"arrow\">→</span></a>\\n            <a href=\"#\">Healthcare<span class=\"arrow\">→</span></a>\\n            <a href=\"#\">Real Estate<span class=\"arrow\">→</span></a>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <!-- Col 2: Company & Legal -->\\n      <div class=\"nav-group\">\\n        <button class=\"acc-header\" aria-expanded=\"false\" aria-controls=\"acc2\">\\n          <span class=\"acc-label\">Company &amp; Legal</span>\\n          <span class=\"acc-icon\"><svg width=\"14\" height=\"14\" fill=\"none\" stroke-width=\"2\" viewBox=\"0 0 14 14\"><path d=\"M2 4.5l5 5 5-5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></span>\\n        </button>\\n        <div class=\"acc-body\" id=\"acc2\">\\n          <p class=\"nav-label\">Company</p>\\n          <div class=\"nav-links\">\\n            <a href=\"#\">About<span class=\"arrow\">→</span></a>\\n            <a href=\"#\">Case Studies<span class=\"arrow\">→</span></a>\\n            <a href=\"#\">Blog<span class=\"arrow\">→</span></a>\\n          </div>\\n          <p class=\"nav-label divider-label\">Legal</p>\\n          <div class=\"nav-links\">\\n            <a href=\"#\">Privacy Policy<span class=\"arrow\">→</span></a>\\n            <a href=\"#\">Terms of Service<span class=\"arrow\">→</span></a>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <!-- Col 3: Contact -->\\n      <div class=\"nav-group\">\\n        <button class=\"acc-header\" aria-expanded=\"false\" aria-controls=\"acc3\">\\n          <span class=\"acc-label\">Contact</span>\\n          <span class=\"acc-icon\"><svg width=\"14\" height=\"14\" fill=\"none\" stroke-width=\"2\" viewBox=\"0 0 14 14\"><path d=\"M2 4.5l5 5 5-5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></span>\\n        </button>\\n        <div class=\"acc-body\" id=\"acc3\">\\n          <p class=\"nav-label\">Get in touch</p>\\n          <div class=\"contact-chips\">\\n            <a href=\"mailto:hello@palcode.ai\" class=\"chip chip-email\">\\n              <svg width=\"13\" height=\"13\" viewBox=\"0 0 13 13\" fill=\"none\">\\n                <rect x=\"1\" y=\"2.5\" width=\"11\" height=\"8\" rx=\"1.5\" stroke=\"currentColor\" stroke-width=\"1.3\"/>\\n                <path d=\"M1 4l5.5 3.5L12 4\" stroke=\"currentColor\" stroke-width=\"1.3\" stroke-linecap=\"round\"/>\\n              </svg>\\n              hello@palcode.ai\\n            </a>\\n            <a href=\"https://wa.me/\" target=\"_blank\" rel=\"noopener\" class=\"chip chip-wa\">\\n              <svg width=\"13\" height=\"13\" viewBox=\"0 0 13 13\" fill=\"none\">\\n                <path d=\"M11.5 1.8C10.3.6 8.7 0 7 0 3.1 0 0 3.1 0 7c0 1.2.3 2.4.9 3.5L0 13l2.6-.8c1 .6 2.1.9 3.3.9 3.9 0 7-3.1 7-7 0-1.9-.7-3.6-1.4-4.3z\" stroke=\"currentColor\" stroke-width=\"1.2\" fill=\"none\" stroke-linecap=\"round\"/>\\n                <path d=\"M4.5 4.3c.1.3.4 1 .7 1.4.3.4-.1.6-.2.9-.1.3.3.9.8 1.3.5.4 1 .6 1.3.4.3-.2.5-.5.7-.5s.6.3.7.6\" stroke=\"currentColor\" stroke-width=\"1.2\" fill=\"none\" stroke-linecap=\"round\"/>\\n              </svg>\\n              WhatsApp\\n            </a>\\n          </div>\\n        </div>\\n      </div>\\n\\n      <!-- Col 4: Status -->\\n      <div class=\"nav-group\">\\n        <button class=\"acc-header\" aria-expanded=\"false\" aria-controls=\"acc4\">\\n          <span class=\"acc-label\">Status</span>\\n          <span class=\"acc-icon\"><svg width=\"14\" height=\"14\" fill=\"none\" stroke-width=\"2\" viewBox=\"0 0 14 14\"><path d=\"M2 4.5l5 5 5-5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></span>\\n        </button>\\n        <div class=\"acc-body\" id=\"acc4\">\\n          <p class=\"nav-label\">System Status</p>\\n          <div class=\"status-row\">\\n            <span class=\"status-dot\"></span>\\n            <span class=\"status-text\">All systems operational</span>\\n          </div>\\n          <p class=\"status-desc\">Response time typically under 24h. We\\'re fully remote — async-first, results-focused.</p>\\n        </div>\\n      </div>\\n\\n    </nav>\\n  </div><!-- /footer-inner -->\\n\\n  <!-- BOTTOM BAR -->\\n  <div class=\"footer-bottom\">\\n    <p class=\"bottom-left\">\\n      \\xa9 <span id=\"yr\">2025</span> <strong>palcode.agency</strong> — All rights reserved.\\n    </p>\\n    <div class=\"bottom-right\">\\n      <span class=\"badge\"><span class=\"badge-dot\"></span>v2.0</span>\\n      <span>Built with automation,</span>\\n      <span class=\"accent\">not magic.</span>\\n    </div>\\n  </div>\\n\\n</footer>\\n\\n<script>\\n  // Dynamic year\\n  document.getElementById(\\'yr\\').textContent = new Date().getFullYear();\\n\\n  // Scroll-triggered fade-in\\n  const animated = document.querySelectorAll(\\n    \\'.logo-wrap, .brand-tagline, .social-links, .brand-desc, .brand-cta, .nav-group, .footer-bottom\\'\\n  );\\n  const io = new IntersectionObserver(entries => {\\n    entries.forEach(e => {\\n      if (e.isIntersecting) e.target.style.animationPlayState = \\'running\\';\\n    });\\n  }, { threshold: 0.06 });\\n  animated.forEach(el => {\\n    el.style.animationPlayState = \\'paused\\';\\n    io.observe(el);\\n  });\\n\\n  // Accordion — toggled only when header is visible (≤700px)\\n  document.querySelectorAll(\\'.acc-header\\').forEach(btn => {\\n    btn.addEventListener(\\'click\\', () => {\\n      const targetId = btn.getAttribute(\\'aria-controls\\');\\n      const body = document.getElementById(targetId);\\n      const isOpen = body.classList.contains(\\'acc-open\\');\\n\\n      // Close all\\n      document.querySelectorAll(\\'.acc-body\\').forEach(b => b.classList.remove(\\'acc-open\\'));\\n      document.querySelectorAll(\\'.acc-header\\').forEach(b => {\\n        b.classList.remove(\\'acc-open\\');\\n        b.setAttribute(\\'aria-expanded\\', \\'false\\');\\n      });\\n\\n      // Open if it was closed\\n      if (!isOpen) {\\n        body.classList.add(\\'acc-open\\');\\n        btn.classList.add(\\'acc-open\\');\\n        btn.setAttribute(\\'aria-expanded\\', \\'true\\');\\n      }\\n    });\\n  });\\n</script>\\n</body>\\n</html>'}},children:/*#__PURE__*/_jsx(Embed,{height:\"100%\",html:'<!DOCTYPE html>\\n<html lang=\"en\">\\n\\n<head>\\n    <meta charset=\"UTF-8\" />\\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\\n    <title>Palcode Footer</title>\\n    <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\\n    <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\\n    <link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\\n    <style>\\n        *,\\n        *::before,\\n        *::after {\\n            box-sizing: border-box;\\n            margin: 0;\\n            padding: 0;\\n        }\\n\\n        :root {\\n            --bg: #ffffff;\\n            --surface: #f4f4f5;\\n            --surface2: #e4e4e7;\\n            --border: #d4d4d8;\\n            --border-hover: #a1a1aa;\\n            --ink: #09090b;\\n            --ink-2: #27272a;\\n            --ink-3: #3f3f46;\\n            --muted: #71717a;\\n            --subtle: #a1a1aa;\\n            --green: #16a34a;\\n            --green-bg: #f0fdf4;\\n            --green-border: #bbf7d0;\\n            --font: \\'Inter\\', sans-serif;\\n            --radius-sm: 6px;\\n            --radius-md: 8px;\\n            --radius-lg: 12px;\\n        }\\n\\n        html {\\n            scroll-behavior: smooth;\\n        }\\n\\n        body {\\n            background: var(--bg);\\n            color: var(--ink);\\n            font-family: var(--font);\\n            min-height: 100vh;\\n            display: flex;\\n            flex-direction: column;\\n            justify-content: flex-end;\\n            -webkit-font-smoothing: antialiased;\\n        }\\n\\n        /* ── PAGE PLACEHOLDER ── */\\n        .page-placeholder {\\n            flex: 1;\\n            display: flex;\\n            align-items: center;\\n            justify-content: center;\\n            padding: clamp(3rem, 8vw, 6rem) 1.5rem;\\n            text-align: center;\\n            border-bottom: 1px solid var(--border);\\n        }\\n\\n        .page-placeholder-label {\\n            font-size: 11px;\\n            letter-spacing: 0.08em;\\n            color: var(--subtle);\\n            text-transform: uppercase;\\n            margin-bottom: 0.75rem;\\n            font-weight: 500;\\n        }\\n\\n        .page-placeholder-title {\\n            font-size: clamp(22px, 5vw, 36px);\\n            font-weight: 700;\\n            color: var(--ink);\\n            letter-spacing: -0.03em;\\n            line-height: 1.1;\\n        }\\n\\n        .page-placeholder-sub {\\n            font-size: 14px;\\n            color: var(--muted);\\n            margin-top: 0.5rem;\\n            font-weight: 400;\\n        }\\n\\n        /* ══════════════════════════\\n       FOOTER\\n    ══════════════════════════ */\\n        footer {\\n            background: var(--bg);\\n            border-top: 1px solid var(--border);\\n            position: relative;\\n            z-index: 1;\\n        }\\n\\n        /* ── TICKER ── */\\n        .ticker-wrap {\\n            overflow: hidden;\\n            border-bottom: 1px solid var(--border);\\n            background: var(--surface);\\n            padding: 10px 0;\\n        }\\n\\n        .ticker-track {\\n            display: flex;\\n            width: max-content;\\n            animation: ticker 36s linear infinite;\\n        }\\n\\n        .ticker-track:hover {\\n            animation-play-state: paused;\\n        }\\n\\n        .ticker-item {\\n            font-size: 11px;\\n            font-weight: 500;\\n            letter-spacing: 0.06em;\\n            color: var(--muted);\\n            text-transform: uppercase;\\n            white-space: nowrap;\\n            padding: 0 2rem;\\n            display: flex;\\n            align-items: center;\\n            gap: 2rem;\\n        }\\n\\n        .ticker-item::after {\\n            content: \\'\\xb7\\';\\n            font-size: 18px;\\n            color: var(--border-hover);\\n            line-height: 0;\\n        }\\n\\n        /* ── INNER CONTAINER ── */\\n        .footer-inner {\\n            max-width: 1180px;\\n            margin: 0 auto;\\n            padding: 4rem 2.5rem 0;\\n        }\\n\\n        /* ── BRAND ROW ── */\\n        .footer-brand {\\n            display: grid;\\n            grid-template-columns: 220px 1fr auto;\\n            align-items: start;\\n            gap: 3rem;\\n            padding-bottom: 3rem;\\n            border-bottom: 1px solid var(--border);\\n        }\\n\\n        .logo-col {\\n            display: flex;\\n            flex-direction: column;\\n            gap: 1.25rem;\\n        }\\n\\n        .logo-wrap {\\n            display: flex;\\n            align-items: center;\\n            gap: 10px;\\n            opacity: 0;\\n            transform: translateY(12px);\\n            animation: fadeUp 0.6s ease 0.05s forwards;\\n        }\\n\\n        .logo-mark {\\n            width: 38px;\\n            height: 38px;\\n            border-radius: var(--radius-md);\\n            background: var(--ink);\\n            display: flex;\\n            align-items: center;\\n            justify-content: center;\\n            flex-shrink: 0;\\n        }\\n\\n        .logo-name {\\n            font-size: 17px;\\n            font-weight: 700;\\n            color: var(--ink);\\n            letter-spacing: -0.03em;\\n        }\\n\\n        .logo-name span {\\n            color: var(--muted);\\n            font-weight: 500;\\n        }\\n\\n        .brand-tagline {\\n            font-size: 13px;\\n            line-height: 1.75;\\n            color: var(--ink-3);\\n            font-weight: 400;\\n            opacity: 0;\\n            transform: translateY(12px);\\n            animation: fadeUp 0.6s ease 0.18s forwards;\\n        }\\n\\n        .social-links {\\n            display: flex;\\n            gap: 8px;\\n            opacity: 0;\\n            transform: translateY(12px);\\n            animation: fadeUp 0.6s ease 0.28s forwards;\\n        }\\n\\n        .social-btn {\\n            width: 34px;\\n            height: 34px;\\n            border-radius: var(--radius-sm);\\n            border: 1px solid var(--border);\\n            background: var(--bg);\\n            display: flex;\\n            align-items: center;\\n            justify-content: center;\\n            cursor: pointer;\\n            transition: background 0.15s, border-color 0.15s, transform 0.15s;\\n            text-decoration: none;\\n            color: var(--ink-3);\\n        }\\n\\n        .social-btn:hover {\\n            background: var(--surface);\\n            border-color: var(--border-hover);\\n            transform: translateY(-1px);\\n        }\\n\\n        /* brand desc center */\\n        .brand-desc {\\n            padding-top: 4px;\\n            opacity: 0;\\n            transform: translateY(12px);\\n            animation: fadeUp 0.6s ease 0.22s forwards;\\n        }\\n\\n        .brand-desc p {\\n            font-size: 14px;\\n            line-height: 1.8;\\n            color: var(--ink-3);\\n            font-weight: 400;\\n            max-width: 400px;\\n        }\\n\\n        /* CTA */\\n        .brand-cta {\\n            opacity: 0;\\n            transform: translateY(12px);\\n            animation: fadeUp 0.6s ease 0.34s forwards;\\n            white-space: nowrap;\\n        }\\n\\n        .cta-btn {\\n            display: inline-flex;\\n            align-items: center;\\n            gap: 8px;\\n            font-family: var(--font);\\n            font-size: 14px;\\n            font-weight: 600;\\n            color: #fff;\\n            text-decoration: none;\\n            background: var(--ink);\\n            border: 1px solid var(--ink);\\n            padding: 11px 22px;\\n            border-radius: var(--radius-md);\\n            letter-spacing: -0.01em;\\n            transition: background 0.2s, transform 0.15s, box-shadow 0.2s;\\n        }\\n\\n        .cta-btn:hover {\\n            background: var(--ink-2);\\n            transform: translateY(-1px);\\n            box-shadow: 0 4px 16px rgba(9, 9, 11, 0.14);\\n        }\\n\\n        .cta-btn svg {\\n            transition: transform 0.2s;\\n            flex-shrink: 0;\\n        }\\n\\n        .cta-btn:hover svg {\\n            transform: translateX(3px);\\n        }\\n\\n        /* ── NAV GRID ── */\\n        .footer-nav {\\n            display: grid;\\n            grid-template-columns: repeat(4, 1fr);\\n            gap: 3rem;\\n            padding: 3rem 0 2.5rem;\\n        }\\n\\n        .nav-group {\\n            opacity: 0;\\n            transform: translateY(16px);\\n        }\\n\\n        .nav-group:nth-child(1) {\\n            animation: fadeUp 0.55s ease 0.20s forwards;\\n        }\\n\\n        .nav-group:nth-child(2) {\\n            animation: fadeUp 0.55s ease 0.30s forwards;\\n        }\\n\\n        .nav-group:nth-child(3) {\\n            animation: fadeUp 0.55s ease 0.40s forwards;\\n        }\\n\\n        .nav-group:nth-child(4) {\\n            animation: fadeUp 0.55s ease 0.50s forwards;\\n        }\\n\\n        .nav-label {\\n            font-size: 11px;\\n            font-weight: 700;\\n            letter-spacing: 0.08em;\\n            text-transform: uppercase;\\n            color: var(--ink);\\n            margin-bottom: 1rem;\\n        }\\n\\n        .divider-label {\\n            margin-top: 1.75rem;\\n        }\\n\\n        .nav-links {\\n            display: flex;\\n            flex-direction: column;\\n            gap: 9px;\\n        }\\n\\n        .nav-links a {\\n            font-size: 14px;\\n            font-weight: 500;\\n            color: var(--muted);\\n            text-decoration: none;\\n            display: inline-flex;\\n            align-items: center;\\n            gap: 0;\\n            transition: color 0.15s, gap 0.15s;\\n        }\\n\\n        .nav-links a:hover {\\n            color: var(--ink);\\n            gap: 4px;\\n        }\\n\\n        .nav-links a::after {\\n            content: \\'→\\';\\n            font-size: 12px;\\n            opacity: 0;\\n            transform: translateX(-4px);\\n            transition: opacity 0.15s, transform 0.15s;\\n        }\\n\\n        .nav-links a:hover::after {\\n            opacity: 1;\\n            transform: translateX(0);\\n        }\\n\\n        /* ── CONTACT CHIPS ── */\\n        .contact-chips {\\n            display: flex;\\n            flex-direction: column;\\n            gap: 8px;\\n        }\\n\\n        .chip {\\n            display: inline-flex;\\n            align-items: center;\\n            gap: 7px;\\n            font-size: 13px;\\n            font-weight: 500;\\n            text-decoration: none;\\n            padding: 8px 13px;\\n            border-radius: var(--radius-sm);\\n            border: 1px solid;\\n            transition: background 0.15s, transform 0.15s;\\n            width: fit-content;\\n            max-width: 100%;\\n            overflow: hidden;\\n            text-overflow: ellipsis;\\n            white-space: nowrap;\\n        }\\n\\n        .chip:hover {\\n            transform: translateY(-1px);\\n        }\\n\\n        .chip svg {\\n            flex-shrink: 0;\\n        }\\n\\n        .chip-email {\\n            color: var(--ink-2);\\n            background: var(--surface);\\n            border-color: var(--border);\\n        }\\n\\n        .chip-email:hover {\\n            background: var(--surface2);\\n        }\\n\\n        .chip-wa {\\n            color: var(--green);\\n            background: var(--green-bg);\\n            border-color: var(--green-border);\\n        }\\n\\n        .chip-wa:hover {\\n            background: #dcfce7;\\n        }\\n\\n        /* ── STATUS ── */\\n        .status-row {\\n            display: flex;\\n            align-items: center;\\n            gap: 8px;\\n            margin-bottom: 0.75rem;\\n        }\\n\\n        .status-dot {\\n            width: 8px;\\n            height: 8px;\\n            border-radius: 50%;\\n            background: var(--green);\\n            animation: pulse 2.5s ease infinite;\\n            flex-shrink: 0;\\n        }\\n\\n        .status-text {\\n            font-size: 13px;\\n            color: var(--green);\\n            font-weight: 600;\\n        }\\n\\n        .status-desc {\\n            font-size: 13px;\\n            color: var(--muted);\\n            line-height: 1.7;\\n            font-weight: 400;\\n        }\\n\\n        /* ── BOTTOM BAR ── */\\n        .footer-bottom {\\n            max-width: 1180px;\\n            margin: 0 auto;\\n            padding: 1.5rem 2.5rem;\\n            border-top: 1px solid var(--border);\\n            display: flex;\\n            align-items: center;\\n            justify-content: space-between;\\n            gap: 1rem;\\n            flex-wrap: wrap;\\n            opacity: 0;\\n            animation: fadeUp 0.6s ease 0.65s forwards;\\n        }\\n\\n        .bottom-left {\\n            font-size: 13px;\\n            color: var(--muted);\\n            font-weight: 400;\\n        }\\n\\n        .bottom-left strong {\\n            color: var(--ink-3);\\n            font-weight: 600;\\n        }\\n\\n        .bottom-right {\\n            display: flex;\\n            align-items: center;\\n            gap: 6px;\\n            font-size: 13px;\\n            color: var(--muted);\\n        }\\n\\n        .bottom-right .accent {\\n            color: var(--ink-3);\\n            font-weight: 600;\\n        }\\n\\n        .badge {\\n            display: inline-flex;\\n            align-items: center;\\n            gap: 4px;\\n            font-size: 11px;\\n            font-weight: 600;\\n            letter-spacing: 0.04em;\\n            color: var(--ink-2);\\n            background: var(--surface);\\n            border: 1px solid var(--border);\\n            padding: 3px 8px;\\n            border-radius: 100px;\\n        }\\n\\n        .badge-dot {\\n            width: 5px;\\n            height: 5px;\\n            border-radius: 50%;\\n            background: var(--green);\\n        }\\n\\n        /* ── ACCORDION (mobile) ── */\\n        .acc-header {\\n            display: none;\\n            width: 100%;\\n            background: none;\\n            border: none;\\n            border-bottom: 1px solid var(--border);\\n            padding: 1rem 0;\\n            cursor: pointer;\\n            justify-content: space-between;\\n            align-items: center;\\n        }\\n\\n        .acc-label {\\n            font-size: 12px;\\n            font-weight: 700;\\n            letter-spacing: 0.06em;\\n            text-transform: uppercase;\\n            color: var(--ink);\\n        }\\n\\n        .acc-icon {\\n            width: 20px;\\n            height: 20px;\\n            display: flex;\\n            align-items: center;\\n            justify-content: center;\\n            transition: transform 0.3s;\\n            flex-shrink: 0;\\n        }\\n\\n        .acc-icon svg {\\n            stroke: var(--muted);\\n        }\\n\\n        .acc-header.acc-open .acc-icon {\\n            transform: rotate(180deg);\\n        }\\n\\n        .acc-body {\\n            display: block;\\n        }\\n\\n        /* ── KEYFRAMES ── */\\n        @keyframes fadeUp {\\n            to {\\n                opacity: 1;\\n                transform: translateY(0);\\n            }\\n        }\\n\\n        @keyframes pulse {\\n            0% {\\n                box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.4);\\n            }\\n\\n            70% {\\n                box-shadow: 0 0 0 7px rgba(22, 163, 74, 0);\\n            }\\n\\n            100% {\\n                box-shadow: 0 0 0 0 rgba(22, 163, 74, 0);\\n            }\\n        }\\n\\n        @keyframes ticker {\\n            from {\\n                transform: translateX(0);\\n            }\\n\\n            to {\\n                transform: translateX(-50%);\\n            }\\n        }\\n\\n        /* ══════════════════════════\\n       RESPONSIVE\\n    ══════════════════════════ */\\n        @media (max-width: 1100px) {\\n            .footer-inner {\\n                padding: 3.5rem 2rem 0;\\n            }\\n\\n            .footer-bottom {\\n                padding: 1.5rem 2rem;\\n            }\\n\\n            .footer-brand {\\n                grid-template-columns: 200px 1fr auto;\\n                gap: 2rem;\\n            }\\n\\n            .footer-nav {\\n                gap: 2rem;\\n            }\\n        }\\n\\n        @media (max-width: 900px) {\\n            .footer-brand {\\n                grid-template-columns: 1fr 1fr;\\n                grid-template-rows: auto auto;\\n                row-gap: 2rem;\\n            }\\n\\n            .logo-col {\\n                grid-column: 1;\\n                grid-row: 1;\\n            }\\n\\n            .brand-cta {\\n                grid-column: 2;\\n                grid-row: 1;\\n                justify-self: end;\\n                align-self: start;\\n            }\\n\\n            .brand-desc {\\n                grid-column: 1 / -1;\\n                grid-row: 2;\\n            }\\n\\n            .brand-desc p {\\n                max-width: 100%;\\n            }\\n\\n            .footer-nav {\\n                grid-template-columns: repeat(2, 1fr);\\n                gap: 2rem 3rem;\\n            }\\n        }\\n\\n        @media (max-width: 700px) {\\n            .footer-inner {\\n                padding: 2.5rem 1.25rem 0;\\n            }\\n\\n            .footer-bottom {\\n                padding: 1.25rem 1.25rem;\\n                flex-direction: column;\\n                align-items: flex-start;\\n                gap: 0.5rem;\\n            }\\n\\n            .footer-brand {\\n                grid-template-columns: 1fr;\\n                gap: 1.5rem;\\n            }\\n\\n            .logo-col {\\n                grid-column: 1;\\n                grid-row: 1;\\n            }\\n\\n            .brand-desc {\\n                grid-column: 1;\\n                grid-row: 2;\\n            }\\n\\n            .brand-cta {\\n                grid-column: 1;\\n                grid-row: 3;\\n            }\\n\\n            .cta-btn {\\n                width: 100%;\\n                justify-content: center;\\n            }\\n\\n            /* Accordion */\\n            .footer-nav {\\n                display: flex;\\n                flex-direction: column;\\n                gap: 0;\\n                padding: 0.5rem 0;\\n            }\\n\\n            .nav-group {\\n                border-bottom: 1px solid var(--border);\\n                padding: 0;\\n                opacity: 1;\\n                transform: none;\\n                animation: none;\\n            }\\n\\n            .acc-header {\\n                display: flex;\\n            }\\n\\n            .nav-label {\\n                display: none;\\n            }\\n\\n            .divider-label {\\n                display: none;\\n            }\\n\\n            .acc-body {\\n                overflow: hidden;\\n                max-height: 0;\\n                transition: max-height 0.35s ease, padding 0.3s ease;\\n                padding: 0;\\n            }\\n\\n            .acc-body.acc-open {\\n                max-height: 480px;\\n                padding: 1rem 0 1.5rem;\\n            }\\n\\n            .nav-links a {\\n                font-size: 15px;\\n            }\\n\\n            .chip {\\n                font-size: 14px;\\n                padding: 10px 14px;\\n            }\\n        }\\n\\n        @media (max-width: 480px) {\\n            .footer-inner {\\n                padding: 2rem 1rem 0;\\n            }\\n\\n            .footer-bottom {\\n                padding: 1.25rem 1rem;\\n            }\\n\\n            .logo-name {\\n                font-size: 16px;\\n            }\\n\\n            .ticker-item {\\n                font-size: 10px;\\n                padding: 0 1.5rem;\\n            }\\n        }\\n\\n        @media (hover: none) {\\n            .nav-links a::after {\\n                display: none;\\n            }\\n\\n            .cta-btn:hover,\\n            .chip:hover {\\n                transform: none;\\n            }\\n        }\\n    </style>\\n</head>\\n\\n<body>\\n\\n   \\n    <!-- ══════════════════════ FOOTER ══════════════════════ -->\\n    <footer>\\n\\n\\n        <!-- MAIN CONTENT -->\\n        <div class=\"footer-inner\">\\n\\n            <!-- BRAND ROW -->\\n            <div class=\"footer-brand\">\\n\\n                <!-- Logo + tagline + socials -->\\n                <div class=\"logo-col\">\\n                    <div class=\"logo-wrap\">\\n                        <div class=\"logo-mark\">\\n                            <svg width=\"20\" height=\"20\" viewBox=\"0 0 22 22\" fill=\"none\">\\n                                <circle cx=\"11\" cy=\"11\" r=\"7.5\" stroke=\"#fff\" stroke-width=\"1.5\" />\\n                                <path d=\"M7.5 11h7M11 7.5v7\" stroke=\"#fff\" stroke-width=\"1.5\" stroke-linecap=\"round\" />\\n                                <circle cx=\"11\" cy=\"11\" r=\"2\" fill=\"#fff\" />\\n                            </svg>\\n                        </div>\\n                        <div class=\"logo-name\">palcode<span>.agency</span></div>\\n                    </div>\\n                    <p class=\"brand-tagline\">Intelligent automation for modern service businesses.</p>\\n                    <div class=\"social-links\">\\n                        <a href=\"#\" class=\"social-btn\" aria-label=\"LinkedIn\">\\n                            <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\\n                                <path d=\"M16 8a6 6 0 016 6v7h-4v-7a2 2 0 00-2-2 2 2 0 00-2 2v7h-4v-7a6 6 0 016-6zM2 9h4v12H2z\" />\\n                                <circle cx=\"4\" cy=\"4\" r=\"2\" fill=\"currentColor\" />\\n                            </svg>\\n                        </a>\\n                        <a href=\"#\" class=\"social-btn\" aria-label=\"Twitter / X\">\\n                            <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\\n                                <path d=\"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231 5.45-6.231zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77z\" />\\n                            </svg>\\n                        </a>\\n                        <a href=\"#\" class=\"social-btn\" aria-label=\"GitHub\">\\n                            <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\\n                                <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z\" />\\n                            </svg>\\n                        </a>\\n                    </div>\\n                </div>\\n\\n                <!-- Description -->\\n                <div class=\"brand-desc\">\\n                    <p>We build intelligent automation systems that streamline operations and unlock measurable growth for modern service businesses — from home services to healthcare and real estate.</p>\\n                </div>\\n\\n                <!-- CTA -->\\n                <div class=\"brand-cta\">\\n                    <a href=\"mailto:hello@palcode.ai\" class=\"cta-btn\">\\n                        Start a project\\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\\n                            <path d=\"M2 7h10M8 3l4 4-4 4\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\\n                        </svg>\\n                    </a>\\n                </div>\\n\\n            </div><!-- /footer-brand -->\\n\\n            <!-- NAV GRID / ACCORDION -->\\n            <nav class=\"footer-nav\" aria-label=\"Footer navigation\">\\n\\n                <!-- Col 1 -->\\n                <div class=\"nav-group\">\\n                    <button class=\"acc-header\" aria-expanded=\"false\" aria-controls=\"acc1\">\\n                        <span class=\"acc-label\">Solutions &amp; Industries</span>\\n                        <span class=\"acc-icon\"><svg width=\"14\" height=\"14\" fill=\"none\" stroke-width=\"2\" viewBox=\"0 0 14 14\">\\n                                <path d=\"M2 4.5l5 5 5-5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\\n                            </svg></span>\\n                    </button>\\n                    <div class=\"acc-body\" id=\"acc1\">\\n                        <p class=\"nav-label\">Solutions</p>\\n                        <div class=\"nav-links\">\\n                            <a href=\"#\">Flow Builder</a>\\n                            <a href=\"#\">Integrations</a>\\n                        </div>\\n                        <p class=\"nav-label divider-label\">Industries</p>\\n                        <div class=\"nav-links\">\\n                            <a href=\"#\">Home &amp; Field Services</a>\\n                            <a href=\"#\">Healthcare</a>\\n                            <a href=\"#\">Real Estate</a>\\n                        </div>\\n                    </div>\\n                </div>\\n\\n                <!-- Col 2 -->\\n                <div class=\"nav-group\">\\n                    <button class=\"acc-header\" aria-expanded=\"false\" aria-controls=\"acc2\">\\n                        <span class=\"acc-label\">Company &amp; Legal</span>\\n                        <span class=\"acc-icon\"><svg width=\"14\" height=\"14\" fill=\"none\" stroke-width=\"2\" viewBox=\"0 0 14 14\">\\n                                <path d=\"M2 4.5l5 5 5-5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\\n                            </svg></span>\\n                    </button>\\n                    <div class=\"acc-body\" id=\"acc2\">\\n                        <p class=\"nav-label\">Company</p>\\n                        <div class=\"nav-links\">\\n                            <a href=\"#\">About</a>\\n                            <a href=\"#\">Case Studies</a>\\n                            <a href=\"#\">Blog</a>\\n                        </div>\\n                        <p class=\"nav-label divider-label\">Legal</p>\\n                        <div class=\"nav-links\">\\n                            <a href=\"#\">Privacy Policy</a>\\n                            <a href=\"https://palcode.agency/terms-of-service\">Terms of Service</a>\\n                        </div>\\n                    </div>\\n                </div>\\n\\n                <!-- Col 3 -->\\n                <div class=\"nav-group\">\\n                    <button class=\"acc-header\" aria-expanded=\"false\" aria-controls=\"acc3\">\\n                        <span class=\"acc-label\">Contact</span>\\n                        <span class=\"acc-icon\"><svg width=\"14\" height=\"14\" fill=\"none\" stroke-width=\"2\" viewBox=\"0 0 14 14\">\\n                                <path d=\"M2 4.5l5 5 5-5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\\n                            </svg></span>\\n                    </button>\\n                    <div class=\"acc-body\" id=\"acc3\">\\n                        <p class=\"nav-label\">Get in touch</p>\\n                        <div class=\"contact-chips\">\\n                            <a href=\"mailto:hello@palcode.ai\" class=\"chip chip-email\">\\n                                <svg width=\"13\" height=\"13\" viewBox=\"0 0 13 13\" fill=\"none\">\\n                                    <rect x=\"1\" y=\"2.5\" width=\"11\" height=\"8\" rx=\"1.5\" stroke=\"currentColor\" stroke-width=\"1.3\" />\\n                                    <path d=\"M1 4l5.5 3.5L12 4\" stroke=\"currentColor\" stroke-width=\"1.3\" stroke-linecap=\"round\" />\\n                                </svg>\\n                                hello@palcode.ai\\n                            </a>\\n                            <a href=\"https://wa.me/\" target=\"_blank\" rel=\"noopener\" class=\"chip chip-wa\">\\n                                <svg width=\"13\" height=\"13\" viewBox=\"0 0 13 13\" fill=\"none\">\\n                                    <path d=\"M11.5 1.8C10.3.6 8.7 0 7 0 3.1 0 0 3.1 0 7c0 1.2.3 2.4.9 3.5L0 13l2.6-.8c1 .6 2.1.9 3.3.9 3.9 0 7-3.1 7-7 0-1.9-.7-3.6-1.4-4.3z\" stroke=\"currentColor\" stroke-width=\"1.2\" fill=\"none\" stroke-linecap=\"round\" />\\n                                    <path d=\"M4.5 4.3c.1.3.4 1 .7 1.4.3.4-.1.6-.2.9-.1.3.3.9.8 1.3.5.4 1 .6 1.3.4.3-.2.5-.5.7-.5s.6.3.7.6\" stroke=\"currentColor\" stroke-width=\"1.2\" fill=\"none\" stroke-linecap=\"round\" />\\n                                </svg>\\n                                WhatsApp\\n                            </a>\\n                        </div>\\n                    </div>\\n                </div>\\n\\n                <!-- Col 4 -->\\n                <div class=\"nav-group\">\\n                    <button class=\"acc-header\" aria-expanded=\"false\" aria-controls=\"acc4\">\\n                        <span class=\"acc-label\">Status</span>\\n                        <span class=\"acc-icon\"><svg width=\"14\" height=\"14\" fill=\"none\" stroke-width=\"2\" viewBox=\"0 0 14 14\">\\n                                <path d=\"M2 4.5l5 5 5-5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\\n                            </svg></span>\\n                    </button>\\n                    <div class=\"acc-body\" id=\"acc4\">\\n                        <p class=\"nav-label\">System Status</p>\\n                        <div class=\"status-row\">\\n                            <span class=\"status-dot\"></span>\\n                            <span class=\"status-text\">All systems operational</span>\\n                        </div>\\n                        <p class=\"status-desc\">Response time typically under 24h. We\\'re fully remote — async-first, results-focused.</p>\\n                    </div>\\n                </div>\\n\\n            </nav>\\n        </div><!-- /footer-inner -->\\n\\n        <!-- BOTTOM BAR -->\\n        <div class=\"footer-bottom\">\\n            <p class=\"bottom-left\">\\n                \\xa9 <span id=\"yr\">2025</span> <strong>palcode.agency</strong> — All rights reserved.\\n            </p>\\n            <div class=\"bottom-right\">\\n                <span class=\"badge\"><span class=\"badge-dot\"></span>v2.0</span>\\n                <span>Built with automation,</span>\\n                <span class=\"accent\">not magic.</span>\\n            </div>\\n        </div>\\n\\n    </footer>\\n\\n    <script>\\n        // Year\\n        document.getElementById(\\'yr\\').textContent = new Date().getFullYear();\\n\\n        // Scroll-triggered animations\\n        const animated = document.querySelectorAll(\\n            \\'.logo-wrap, .brand-tagline, .social-links, .brand-desc, .brand-cta, .nav-group, .footer-bottom\\'\\n        );\\n        const io = new IntersectionObserver(entries => {\\n            entries.forEach(e => {\\n                if (e.isIntersecting) e.target.style.animationPlayState = \\'running\\';\\n            });\\n        }, {\\n            threshold: 0.08\\n        });\\n        animated.forEach(el => {\\n            el.style.animationPlayState = \\'paused\\';\\n            io.observe(el);\\n        });\\n\\n        // Accordion — only fires when acc-header is visible (mobile)\\n        document.querySelectorAll(\\'.acc-header\\').forEach(btn => {\\n            btn.addEventListener(\\'click\\', () => {\\n                const body = document.getElementById(btn.getAttribute(\\'aria-controls\\'));\\n                const isOpen = body.classList.contains(\\'acc-open\\');\\n\\n                // Close all\\n                document.querySelectorAll(\\'.acc-body\\').forEach(b => b.classList.remove(\\'acc-open\\'));\\n                document.querySelectorAll(\\'.acc-header\\').forEach(b => {\\n                    b.classList.remove(\\'acc-open\\');\\n                    b.setAttribute(\\'aria-expanded\\', \\'false\\');\\n                });\\n\\n                // Open clicked if it was closed\\n                if (!isOpen) {\\n                    body.classList.add(\\'acc-open\\');\\n                    btn.classList.add(\\'acc-open\\');\\n                    btn.setAttribute(\\'aria-expanded\\', \\'true\\');\\n                }\\n            });\\n        });\\n    </script>\\n</body>\\n\\n</html>',id:\"fT8eV0GQb\",layoutId:\"fT8eV0GQb\",radius:\"0px\",style:{width:\"100%\"},type:\"html\",url:\"\",width:\"100%\",zoom:1})})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=mediaQueries[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=breakpointRules[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 2000\n * @framerIntrinsicWidth 1400\n * @framerRootFontSize 16\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"qmJ5Hp6o4\":{\"layout\":[\"fixed\",\"fixed\"]},\"tj8NNS89c\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"HFeHkJKh_\":[\".framer-1gby5nb-container\",\".framer-1n5s0hv-container\"],\"qmJ5Hp6o4\":[\".framer-1gby5nb-container\",\".framer-1n5s0hv-container\"],\"tj8NNS89c\":[\".framer-1gby5nb-container\",\".framer-1n5s0hv-container\"]}\n * @framerBreakpoints {\"HFeHkJKh_\":{\"min\":1400,\"canvasClassName\":\"framer-eed01y-override\",\"minHeight\":2000,\"name\":\"Desktop\",\"width\":1400,\"rootFontSize\":16},\"qmJ5Hp6o4\":{\"min\":810,\"max\":1399,\"canvasClassName\":\"framer-16t95dv-override\",\"minHeight\":2000,\"viewportHeight\":1080,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"tj8NNS89c\":{\"max\":809,\"canvasClassName\":\"framer-zxzbhj-override\",\"minHeight\":2000,\"viewportHeight\":844,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant HFeHkJKh_\n * @framerLayoutTemplate true\n */const FramerE1l0vIdTB=withCSS(Component,css,\"framer-99CLf\");export default FramerE1l0vIdTB;FramerE1l0vIdTB.displayName=\"Main\";FramerE1l0vIdTB.defaultProps={height:2e3,width:1400};addFonts(FramerE1l0vIdTB,[{explicitInter:true,fonts:[]},...EmbedFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerE1l0vIdTB\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerContractVersion\":\"1\",\"framerAutoSizeImages\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerRootFontSize\":\"16\",\"framerDefaultVariant\":\"HFeHkJKh_\",\"framerLayoutTemplate\":\"true\",\"framerBreakpoints\":\"{\\\"HFeHkJKh_\\\":{\\\"min\\\":1400,\\\"canvasClassName\\\":\\\"framer-eed01y-override\\\",\\\"minHeight\\\":2000,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1400,\\\"rootFontSize\\\":16},\\\"qmJ5Hp6o4\\\":{\\\"min\\\":810,\\\"max\\\":1399,\\\"canvasClassName\\\":\\\"framer-16t95dv-override\\\",\\\"minHeight\\\":2000,\\\"viewportHeight\\\":1080,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"tj8NNS89c\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-zxzbhj-override\\\",\\\"minHeight\\\":2000,\\\"viewportHeight\\\":844,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerComponentViewportWidth\":\"true\",\"framerHitTargets\":\"{\\\"HFeHkJKh_\\\":[\\\".framer-1gby5nb-container\\\",\\\".framer-1n5s0hv-container\\\"],\\\"qmJ5Hp6o4\\\":[\\\".framer-1gby5nb-container\\\",\\\".framer-1n5s0hv-container\\\"],\\\"tj8NNS89c\\\":[\\\".framer-1gby5nb-container\\\",\\\".framer-1n5s0hv-container\\\"]}\",\"framerIntrinsicWidth\":\"1400\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"qmJ5Hp6o4\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"tj8NNS89c\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"2000\"}},\"__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 Main from \"https://framerusercontent.com/modules/cAoShoUxz0GT9TryjFhl/PWB7UrVsebn2OV3xYhJp/E1l0vIdTB.js\";\r\n\r\n\t\tconst routes = {augiA20Il: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/69Oma87694CIZCWHE7G1/wqha0Hzn8oHHLDp6gWNH/augiA20Il.js\")), path: \"/\"}, RncQUSB2Q: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/u62O3HYDpKJKjCFj6uvE/Bo67qay2nJCK0fSnnY29/RncQUSB2Q.js\")), path: \"/404\"}, xWpWiStlE: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/kIkH7NXBu2lvPp1kMGdJ/JGmKVvitPy4ZyU03WHt0/xWpWiStlE.js\")), path: \"/faq\"}, KfntjpaTf: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/qRAClyw0Kzw37VMTXIn3/MW8QKApXhL0YoMS4tfCe/KfntjpaTf.js\")), path: \"/contacts\"}, zS8i3YZWP: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/tZ0LSI2OyAh9krXym5vp/cDBA6jEkg18MgnindBlB/zS8i3YZWP.js\")), path: \"/case-studies\"}, QrpY9Sh23: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/ce2Ccv8b28eOWKUlJrLT/kk7CUqsjgTsTuI5UAs0G/QrpY9Sh23.js\")), path: \"/agents-1\"}, lv_MPFjXV: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/P0RKR6p6OJCNUrMxxv5W/uMLgZhd6VExDIN6CGX1j/lv_MPFjXV.js\")), path: \"/articles\"}, uQ3gLkGX4: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/EgLOQMNSlzWprkg8U4Tj/a704Q2kC2nzKq0dUQZ2i/uQ3gLkGX4.js\")), path: \"/agents\"}, iJzDm5cHS: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/GiowppGWkpcAN4Sa17GV/PAcrtv6SqrFSjmoAf3UD/iJzDm5cHS.js\")), path: \"/terms-of-service\"}, tsFPBYrae: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/p2HHrojacRuzaYPyfbgE/opJEQhT7Fa1SZOH93ZnT/tsFPBYrae.js\")), path: \"/blog\"}, i6wgaQ1S3: {collectionId: \"KKpuY5TDs\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/datRl4857wXpBvP4wKuB/fPuM6WsUAHfSpwFB84VB/i6wgaQ1S3.js\")), path: \"/articles/:WyaURXnPq\"}}\r\n\r\n\t\tconst locales = [{code: \"en\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {KKpuY5TDs: async () => (await import(\"https://framerusercontent.com/modules/s2qAtVwg6R9s2uWTWrCL/ewiQJHDrTqlaLcHKnENZ/KKpuY5TDs.js\"))?.[\"utils\"], WLKyEdbtD: async () => (await import(\"https://framerusercontent.com/modules/1a13I40ta9DPGVBMhaZp/IWm6MMur2q6T0BOSPwDt/WLKyEdbtD.js\"))?.[\"utils\"]}\r\n\t\tconst framerSiteId = \"7ca582beb19ed9c5b31eb3e5b6591ac49bca46f2b4089391010a6a0bc0830daa\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const templateProps = {}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"augiA20Il\":\r\ncase \"RncQUSB2Q\":\r\ncase \"xWpWiStlE\":\r\ncase \"KfntjpaTf\":\r\ncase \"zS8i3YZWP\":\r\ncase \"QrpY9Sh23\":\r\ncase \"lv_MPFjXV\":\r\ncase \"uQ3gLkGX4\":\r\ncase \"iJzDm5cHS\":\r\ncase \"tsFPBYrae\":\r\ncase \"Ws2t_CG0i\":\r\ncase \"i6wgaQ1S3\":\r\ncase \"rMWGIbbcu\":\r\ncase \"c4fStsq5q\":\r\nreturn React.createElement(Main, {...props, key: \"Main\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"augiA20Il\":\r\ncase \"RncQUSB2Q\":\r\ncase \"xWpWiStlE\":\r\ncase \"KfntjpaTf\":\r\ncase \"zS8i3YZWP\":\r\ncase \"QrpY9Sh23\":\r\ncase \"lv_MPFjXV\":\r\ncase \"uQ3gLkGX4\":\r\ncase \"iJzDm5cHS\":\r\ncase \"tsFPBYrae\":\r\ncase \"Ws2t_CG0i\":\r\ncase \"i6wgaQ1S3\":\r\ncase \"rMWGIbbcu\":\r\ncase \"c4fStsq5q\":\r\nreturn [{hash: \"eed01y\", mediaQuery: \"(min-width: 1400px)\"}, {hash: \"16t95dv\", mediaQuery: \"(min-width: 810px) and (max-width: 1399.98px)\"}, {hash: \"zxzbhj\", 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\texport async function getPageRoot({ routeId, pathVariables, localeId, collectionItemId }) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\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\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tframerSiteId,\r\n\t\t\t\t\tnotFoundPage: Framer.lazy(() => import(\"https://framerusercontent.com/modules/u62O3HYDpKJKjCFj6uvE/Bo67qay2nJCK0fSnnY29/RncQUSB2Q.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://palcode.agency\",\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: false,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/SKJbQiJPiYPhlGwCAqsk/T7aL1LRKB1mBLYZU15xm/snippets.js\")),\r\n\t\t\t\t\tinitialCollectionItemId: collectionItemId,\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithFeaturesContext = React.createElement(\r\n\t\t\t\tFramer.LibraryFeaturesProvider,\r\n\t\t\t\t{\r\n\t\t\t\t\tchildren: content,\r\n\t\t\t\t\tvalue: {autobahnNavigation: true, disableCustomCode: false, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageLocalizationSupport: true, onPageMoveTool: true, synchronousNavigationOnDesktop: false, yieldOnTap: false}\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: contentWithFeaturesContext\r\n\t\t\t})\r\n\r\n\t\t\tconst effect = {enter: {opacity: 0, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0, duration: 0.2, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"0px\"}}\r\n\t\t\tconst page = React.createElement(Framer.PageEffectsProvider, {\r\n\t\t\t\tchildren: contentWithGracefullyDegradingErrorBoundary,\r\n\t\t\t\tvalue: {routes: {uQ3gLkGX4: {augiA20Il: effect}}}\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\r\n\t\tif (isBrowser) {\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\t// Fallback support for stack gaps\r\n\t\t\tFramer.installFlexboxGapWorkaroundIfNeeded()\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, pathVariables, 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\tpathVariables = routeData.pathVariables\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 serverRouteExperimentEnabled = true\r\n\t\t\t\t\tconst serverRoute = serverRouteExperimentEnabled && 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\tpathVariables,\r\n\t\t\t\t\tcollectionItemId: routeData?.collectionItemId,\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\tlet collectionItemId = routeData?.collectionItemId ?? null\r\n\t\tif (collectionItemId === null && route?.collectionId && collectionUtils) {\r\n\t\t\t  const utils = await collectionUtils[route.collectionId]?.()\r\n\t\t\t  const [slug] = Object.values(pathVariables)\r\n\t\t\t  if (utils && typeof slug === \"string\") {\r\n\t\t\t\t  collectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n\t\t\t  }\r\n\t\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: framerSiteId ?? null,\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\tif (true) Framer.turnOffReactEventHandling()\r\n\t\t\t\t\t\tReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\thandleError(error, undefined, false)\r\n\t\t\t\tthrow error\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\t\r\n\t"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAqlxB,CAAC,CAAC,SAAsB,EAAK,EAAM,CAAC,OAAO,OAAO,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}