{"version":3,"file":"ARCA_Standard.CGsldDql.mjs","names":["resolveImage","usePrefersReducedMotion","useState","useThemeObserver","_Fragment","ExternalComponent","useRef","clamp","useMemo","t","DEFAULT_PROPS","PROPERTY_CONTROLS","useState","useRef","p"],"sources":["https:/framerusercontent.com/modules/DuLgQ3ZL1jogY8SINWKC/PvJqJMl5iSAKC9ul7oJQ/ARCA_Hero.js","https:/framerusercontent.com/modules/wlepLSgmuhxAJdT3T4Xw/Zzy3CZ40fb9FpgEifDx4/ARCA_Standard.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{startTransition,useEffect,useMemo,useRef,useState}from\"react\";import{ControlType,addPropertyControls,useIsStaticRenderer}from\"framer\";const clamp=(v,a,b)=>Math.max(a,Math.min(b,v));function resolveImage(img){if(!img)return null;if(typeof img===\"string\")return{src:img,srcSet:undefined,alt:\"\"};return{src:img.src,srcSet:img.srcSet,alt:img.alt||\"\"};}function usePrefersReducedMotion(){const[reduce,setReduce]=useState(false);useEffect(()=>{if(typeof window===\"undefined\"||!window.matchMedia)return;const mq=window.matchMedia(\"(prefers-reduced-motion: reduce)\");const on=()=>setReduce(mq.matches);on();mq.addEventListener?.(\"change\",on);return()=>mq.removeEventListener?.(\"change\",on);},[]);return reduce;}function useThemeObserver(){const[state,setState]=useState({theme:\"dark\",pageBg:\"\"});useEffect(()=>{if(typeof document===\"undefined\")return;// Returns the color only if it's actually opaque (not transparent).\nconst opaque=c=>{const m=c&&c.match(/[\\d.]+/g);if(!m||m.length<3)return\"\";const a=m.length>=4?Number(m[3]):1;return a>.01?c:\"\";};const read=()=>{// Detect the real page background so the veil fades to it instead\n// of a hardcoded black (which would seam against the Standard).\nconst pageBg=opaque(getComputedStyle(document.body).backgroundColor)||opaque(getComputedStyle(document.documentElement).backgroundColor);const attr=document.body.getAttribute(\"data-framestack-theme\")||document.body.getAttribute(\"framestack-theme\")||document.documentElement.getAttribute(\"data-framestack-theme\")||document.documentElement.getAttribute(\"framestack-theme\");let theme=\"dark\";if(attr===\"light\"||attr===\"dark\"){theme=attr;}else{const src=pageBg||getComputedStyle(document.body).backgroundColor;const m=src.match(/[\\d.]+/g);if(m&&m.length>=3){const[r,g,b]=m.map(Number);const lum=(.299*r+.587*g+.114*b)/255;theme=lum>.5?\"light\":\"dark\";}}setState({theme,pageBg});};read();const obs=new MutationObserver(read);obs.observe(document.body,{attributes:true,attributeFilter:[\"data-framestack-theme\",\"framestack-theme\",\"class\",\"style\"]});obs.observe(document.documentElement,{attributes:true,attributeFilter:[\"data-framestack-theme\",\"framestack-theme\",\"class\",\"style\"]});window.addEventListener(\"framestack-theme\",read);window.addEventListener(\"themechange\",read);return()=>{obs.disconnect();window.removeEventListener(\"framestack-theme\",read);window.removeEventListener(\"themechange\",read);};},[]);return state;}const ChevronDown=()=>/*#__PURE__*/_jsx(\"svg\",{width:\"12\",height:\"8\",viewBox:\"0 0 12 8\",fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M1 1.5 6 6.5 11 1.5\",stroke:\"currentColor\",strokeWidth:\"1.4\"})});const ArrowRight=()=>/*#__PURE__*/_jsx(\"svg\",{width:\"22\",height:\"10\",viewBox:\"0 0 22 10\",fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M0 5h20M16.5 1 21 5l-4.5 4\",stroke:\"currentColor\",strokeWidth:\"1.3\"})});// Inline logos (fill follows currentColor). Decorative: the accessible\n// name lives in the visually-hidden text inside the heading.\nconst LogoWordmark=()=>/*#__PURE__*/_jsxs(\"svg\",{className:\"hd-logo hd-logo--wordmark\",viewBox:\"0 0 1664.52 159.04\",fill:\"currentColor\",xmlns:\"http://www.w3.org/2000/svg\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M106.52,157.44h27.13L76.01,1.61h-18.37L0,157.44h27.13l10.12-29.58h59.16l10.12,29.58ZM45.64,103.31l21.18-61.95,21.18,61.95h-42.37Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M244.96,157.44h30.3l-36.05-66.21c3.17-.94,6.16-2.2,8.92-3.83,6.47-3.82,11.54-9.16,15.2-16.02,3.66-6.86,5.49-14.9,5.49-24.11s-1.81-17.25-5.44-24.11c-3.62-6.86-8.69-12.18-15.2-15.97-6.51-3.79-14.13-5.68-22.86-5.68h-64.08v155.94h25.23v-64.3h24.8l33.68,64.3ZM186.48,26.04h38.11c5.42,0,9.76,1.95,13.04,5.84,3.27,3.9,4.91,9.02,4.91,15.38-.07,6.43-1.73,11.59-4.96,15.49-3.24,3.9-7.57,5.84-12.98,5.84h-38.11V26.04Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M355.75,159.04c-11.19,0-20.87-2.34-29.03-7.02-8.17-4.68-14.45-11.38-18.84-20.09-4.4-8.72-6.6-19.04-6.6-30.97v-42.76c0-12,2.2-22.35,6.6-31.03,4.4-8.68,10.68-15.38,18.84-20.09,8.16-4.72,17.84-7.07,29.03-7.07,9.29,0,17.67,2.02,25.13,6.06,7.46,4.04,13.67,9.79,18.63,17.25,4.96,7.47,8.36,16.38,10.19,26.74h-25.97c-1.27-5.14-3.27-9.56-6.02-13.24-2.75-3.68-6-6.52-9.77-8.52-3.77-2-7.83-3-12.19-3-8.8,0-15.75,2.95-20.85,8.84-5.1,5.89-7.65,13.92-7.65,24.06v42.76c0,10.15,2.55,18.15,7.65,24.01,5.1,5.86,12.05,8.79,20.85,8.79,6.55,0,12.39-2.14,17.52-6.43,5.14-4.29,8.62-10.4,10.45-18.33h25.97c-1.9,10.36-5.33,19.27-10.29,26.74-4.96,7.47-11.16,13.22-18.58,17.25-7.43,4.04-15.78,6.06-25.07,6.06Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M530.09,157.44h27.13L499.58,1.61h-18.37l-57.64,155.83h27.13l10.12-29.58h59.16l10.12,29.58ZM469.21,103.31l21.18-61.95,21.18,61.95h-42.37Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M750.71,89.92c-5.42-6.79-13.06-10.89-22.91-12.32,9.64-1.71,16.89-5.66,21.75-11.84,4.86-6.18,7.28-13.49,7.28-21.92,0-13.15-3.89-23.47-11.67-30.97-7.78-7.5-19.2-11.25-34.26-11.25h-61.55v155.83h63.34c14.43,0,25.72-3.8,33.89-11.41,8.16-7.61,12.25-17.95,12.25-31.03v-.32c0-9.72-2.71-17.97-8.13-24.76ZM708.49,25.83c7.53,0,13.23,1.66,17.1,4.98,3.87,3.32,5.81,8.2,5.81,14.63s-1.83,11.47-5.49,14.9c-3.66,3.43-8.97,5.14-15.94,5.14h-35.47V25.83h33.99ZM733.4,111.89c0,6.5-2.09,11.68-6.28,15.54-4.19,3.86-10.79,5.79-19.79,5.79h-32.83v-43.73h35.47c7.95,0,13.85,1.97,17.68,5.89,3.83,3.93,5.75,9.32,5.75,16.18v.32Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M845.03,159.04c-17.46,0-30.97-5.05-40.54-15.16-9.57-10.11-14.36-24.38-14.36-42.82V1.61h25.23v100.21c0,10.15,2.59,18,7.76,23.58s12.47,8.36,21.91,8.36,16.85-2.79,22.06-8.36c5.21-5.57,7.81-13.43,7.81-23.58V1.61h25.23v99.46c0,18.43-4.8,32.71-14.41,42.82-9.61,10.11-23.17,15.16-40.7,15.16Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M963,1.61v155.83h-25.76V1.61h25.76Z\"}),/*#__PURE__*/_jsx(\"polygon\",{points:\"1029.55 132.89 1029.55 1.61 1004.32 1.61 1004.32 157.44 1016.14 157.44 1029.55 157.44 1105.03 157.44 1105.03 132.89 1029.55 132.89\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M1228.38,16.24c-10.35-9.75-24.98-14.63-43.92-14.63h-49.72v155.83h49.62c12.88,0,23.75-2.27,32.62-6.81,8.87-4.54,15.57-10.98,20.11-19.34,4.54-8.36,6.81-18.25,6.81-29.69v-44.16c0-17.72-5.17-31.46-15.52-41.21ZM1217.93,102.46c0,9.65-2.87,17.13-8.6,22.45-5.74,5.32-13.81,7.98-24.23,7.98h-25.13V26.15h25.13c10.41,0,18.49,2.64,24.23,7.93,5.74,5.29,8.6,12.79,8.6,22.51v45.87Z\"}),/*#__PURE__*/_jsx(\"polygon\",{points:\"1381.71 26.15 1381.71 1.61 1306.23 1.61 1291.45 1.61 1281 1.61 1281 157.44 1291.45 157.44 1306.23 157.44 1381.71 157.44 1381.71 132.89 1306.23 132.89 1306.23 92.27 1370.1 92.27 1370.1 67.84 1306.23 67.84 1306.23 26.15 1381.71 26.15\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M1500.42,157.44h30.3l-36.05-66.21c3.18-.94,6.16-2.2,8.92-3.83,6.47-3.82,11.54-9.16,15.2-16.02,3.66-6.86,5.49-14.9,5.49-24.11s-1.81-17.25-5.44-24.11c-3.62-6.86-8.69-12.18-15.2-15.97-6.51-3.79-14.13-5.68-22.86-5.68h-64.08v155.94h25.23v-64.3h24.8l33.68,64.3ZM1441.93,26.04h38.11c5.42,0,9.76,1.95,13.04,5.84,3.27,3.9,4.91,9.02,4.91,15.38-.07,6.43-1.73,11.59-4.96,15.49-3.24,3.9-7.57,5.84-12.98,5.84h-38.11V26.04Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M1607.09,159.04c-7.39,0-14.48-.73-21.27-2.2-6.79-1.46-13.14-3.63-19.05-6.48-5.91-2.86-11.37-6.39-16.36-10.61l13.41-20.47c5.91,5.07,12.54,8.91,19.9,11.52,7.35,2.61,15.15,3.91,23.38,3.91,10.27,0,18.24-1.86,23.91-5.57,5.67-3.71,8.5-8.97,8.5-15.75v-.11c0-5.21-1.43-9.22-4.28-12-2.85-2.79-6.6-4.84-11.24-6.16-4.65-1.32-9.71-2.45-15.2-3.38-5.84-.93-11.77-2.09-17.79-3.48-6.02-1.39-11.54-3.57-16.57-6.54-5.03-2.96-9.08-7.22-12.14-12.75-3.06-5.54-4.59-12.91-4.59-22.13v-.11c0-14.86,4.84-26.36,14.52-34.51,9.68-8.15,23.35-12.22,41.01-12.22,8.23,0,16.47,1.38,24.7,4.13,8.23,2.75,16.08,6.81,23.54,12.16l-12.25,21.11c-5.91-4.36-11.93-7.63-18.05-9.81-6.12-2.18-12.11-3.27-17.95-3.27-9.71,0-17.23,1.81-22.54,5.41-5.31,3.61-7.97,8.7-7.97,15.27v.11c0,5.43,1.57,9.56,4.7,12.38,3.13,2.82,7.21,4.91,12.25,6.27,5.03,1.36,10.47,2.64,16.31,3.86,5.77,1.14,11.52,2.54,17.26,4.18,5.74,1.64,10.96,4,15.68,7.07,4.71,3.07,8.5,7.31,11.35,12.7,2.85,5.4,4.28,12.42,4.28,21.06v.21c0,14.72-5.01,26.1-15.04,34.13-10.03,8.04-24.16,12.06-42.38,12.06Z\"})]});const LogoMonogram=()=>/*#__PURE__*/_jsxs(\"svg\",{className:\"hd-logo hd-logo--monogram\",viewBox:\"0 0 633.07 161.11\",fill:\"currentColor\",xmlns:\"http://www.w3.org/2000/svg\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M0,159.48L59.28,1.63h18.89l59.28,157.85h-27.9l-40.82-117.57-40.82,117.57H0ZM27.9,129.51v-24.86h83.05v24.86H27.9Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M185.84,159.48V1.52h25.95v157.96h-25.95ZM196.58,94.34v-24.86h54.39c5.57,0,10.02-1.97,13.35-5.92,3.33-3.94,5.03-9.17,5.1-15.69,0-6.44-1.68-11.63-5.05-15.58-3.36-3.94-7.83-5.92-13.41-5.92h-54.39V1.52h55.15c8.97,0,16.81,1.92,23.5,5.75,6.7,3.84,11.91,9.23,15.63,16.18,3.73,6.95,5.59,15.09,5.59,24.42s-1.88,17.48-5.65,24.43c-3.76,6.95-8.98,12.36-15.63,16.23-6.66,3.87-14.48,5.81-23.45,5.81h-55.15ZM271.93,159.48l-37.24-70.02,26.92-4.99,41.47,75.02h-31.16Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M405.87,161.11c-11.51,0-21.46-2.37-29.86-7.11-8.4-4.74-14.86-11.53-19.38-20.36-4.52-8.83-6.79-19.28-6.79-31.37v-43.32c0-12.16,2.26-22.63,6.79-31.43,4.52-8.79,10.98-15.58,19.38-20.35,8.39-4.78,18.35-7.17,29.86-7.17,9.55,0,18.17,2.04,25.84,6.13,7.67,4.09,14.06,9.92,19.16,17.48,5.1,7.56,8.59,16.59,10.48,27.09h-26.71c-1.3-5.21-3.37-9.68-6.19-13.41-2.82-3.73-6.17-6.6-10.04-8.63-3.87-2.03-8.05-3.04-12.54-3.04-9.05,0-16.19,2.98-21.44,8.96-5.25,5.97-7.87,14.1-7.87,24.37v43.32c0,10.28,2.62,18.38,7.87,24.32,5.25,5.93,12.39,8.9,21.44,8.9,6.73,0,12.74-2.17,18.02-6.51,5.28-4.34,8.86-10.53,10.75-18.57h26.71c-1.95,10.5-5.48,19.53-10.59,27.09-5.1,7.56-11.47,13.39-19.11,17.48-7.64,4.09-16.23,6.13-25.78,6.13Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M495.62,159.48L554.9,1.63h18.89l59.28,157.85h-27.9l-40.82-117.57-40.82,117.57h-27.9ZM523.53,129.51v-24.86h83.05v24.86h-83.05Z\"})]});function TitleInner({logoStyle,heroTitle}){if(logoStyle===\"wordmark\")return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{className:\"hd-sr-only\",children:heroTitle}),/*#__PURE__*/_jsx(LogoWordmark,{})]});if(logoStyle===\"monogram\")return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{className:\"hd-sr-only\",children:heroTitle}),/*#__PURE__*/_jsx(LogoMonogram,{})]});return heroTitle;}function HeroContent({heroTitle,heroCue,staticPos,titleTag,logoStyle}){const T=titleTag||\"h1\";return /*#__PURE__*/_jsxs(\"div\",{className:`hd-hero ${staticPos?\"hd-hero--static\":\"\"}`,children:[heroCue?/*#__PURE__*/_jsx(\"span\",{className:\"hd-hero-cue\",children:heroCue}):null,/*#__PURE__*/_jsx(T,{className:\"hd-hero-title\",children:/*#__PURE__*/_jsx(TitleInner,{logoStyle:logoStyle,heroTitle:heroTitle})})]});}function Statement({statementHeadline,bodyA,bodyB,ctaLabel,ctaLink,headlineTag}){const H=headlineTag||\"h2\";return /*#__PURE__*/_jsxs(\"div\",{className:\"hd-statement-inner\",children:[/*#__PURE__*/_jsx(H,{className:\"hd-headline\",children:statementHeadline}),/*#__PURE__*/_jsxs(\"div\",{className:\"hd-body\",children:[bodyA?/*#__PURE__*/_jsx(\"p\",{children:bodyA}):null,bodyB?/*#__PURE__*/_jsx(\"p\",{children:bodyB}):null,ctaLabel?/*#__PURE__*/_jsxs(\"a\",{className:\"hd-cta\",href:ctaLink||undefined,children:[ctaLabel,/*#__PURE__*/_jsx(ArrowRight,{})]}):null]})]});}function ExternalComponent(props){const{heroImage,heroTitle,heroCue,logoStyle,statementHeadline,bodyA,bodyB,ctaLabel,ctaLink,scrollLength,bgDark,bgLight,textDark,textLight,fontFamily,headingLevel}=props;const reduce=usePrefersReducedMotion();const{theme,pageBg}=useThemeObserver();const bg=pageBg||(theme===\"light\"?bgLight:bgDark);const text=theme===\"light\"?textLight:textDark;// Hero title is the page heading; statement sits one level below it.\nconst TitleTag=headingLevel===\"h2\"?\"h2\":\"h1\";const StmtTag=headingLevel===\"h2\"?\"h3\":\"h2\";const sectionRef=useRef(null);const pinRef=useRef(null);const imgRef=useRef(null);const veilRef=useRef(null);const heroRef=useRef(null);const stmtRef=useRef(null);useEffect(()=>{if(reduce||typeof window===\"undefined\")return;const section=sectionRef.current;if(!section)return;let raf=0;const onScroll=()=>{cancelAnimationFrame(raf);raf=requestAnimationFrame(()=>{const scrollable=section.offsetHeight-(pinRef.current?.clientHeight||window.innerHeight);const top=section.getBoundingClientRect().top;const p=scrollable>0?clamp(-top/scrollable,0,1):0;if(imgRef.current)imgRef.current.style.transform=`scale(${1+.06*p})`;// Darkness rises from the bottom upward (bottom-origin scaleY).\nif(veilRef.current)veilRef.current.style.transform=`scaleY(${clamp(p/.82,0,1)*1.3})`;if(heroRef.current){const ho=1-clamp(p/.35,0,1);heroRef.current.style.opacity=`${ho}`;heroRef.current.style.transform=`translateY(${-clamp(p/.4,0,1)*8}vh)`;heroRef.current.style.pointerEvents=ho>.5?\"auto\":\"none\";}if(stmtRef.current){// Statement scrolls up into place (continuity), fading in.\nconst move=clamp((p-.3)/.7,0,1);const o=clamp((p-.38)/.3,0,1);stmtRef.current.style.opacity=`${o}`;stmtRef.current.style.transform=`translateY(${(1-move)*42}vh)`;stmtRef.current.style.pointerEvents=o>.5?\"auto\":\"none\";}});};onScroll();window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"resize\",onScroll);return()=>{window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"resize\",onScroll);cancelAnimationFrame(raf);};},[reduce,scrollLength]);const resolved=resolveImage(heroImage);// Alt text set on the component wins; Framer image settings don't keep it.\nconst im=resolved?{...resolved,alt:props.heroImageAlt||resolved.alt}:resolved;const rootStyle={\"--text\":text,\"--bg\":bg,...fontFamily?{fontFamily}:null};const styles=`\r\n        .hd-root {\r\n            --ease: cubic-bezier(0.16, 1, 0.3, 1);\r\n            font-family: 'Satoshi', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;\r\n            position: relative;\r\n            width: 100%;\r\n            max-width: 100%;\r\n            background: transparent;\r\n            color: var(--text);\r\n        }\r\n        .hd-root * { box-sizing: border-box; min-width: 0; }\r\n\r\n        .hd-section { position: relative; width: 100%; }\r\n        .hd-pin {\r\n            position: sticky;\r\n            top: 0;\r\n            width: 100%;\r\n            height: 100vh;\r\n            height: 100lvh;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .hd-img { position: absolute; inset: 0; will-change: transform; background: var(--bg); }\r\n        .hd-img img { width: 100%; height: 100%; object-fit: cover; display: block; }\r\n\r\n        /* Subtle scrim so the wordmark + cue read over the photo. */\r\n        .hd-img-scrim {\r\n            position: absolute; inset: 0; pointer-events: none; z-index: 1;\r\n            background: linear-gradient(\r\n                to top,\r\n                rgba(0,0,0,0.82) 0%,\r\n                rgba(0,0,0,0.5) 16%,\r\n                rgba(0,0,0,0.16) 34%,\r\n                rgba(0,0,0,0) 54%\r\n            );\r\n        }\r\n\r\n        /* Veil that fades the photo to the page color. */\r\n        .hd-veil {\r\n            position: absolute; inset: 0; z-index: 1;\r\n            background: linear-gradient(to top, var(--bg) 0%, var(--bg) 62%, transparent 100%);\r\n            transform-origin: bottom;\r\n            transform: scaleY(0);\r\n            will-change: transform;\r\n            pointer-events: none;\r\n        }\r\n\r\n        .hd-hero {\r\n            position: absolute; inset: 0; z-index: 2;\r\n            display: flex; flex-direction: column;\r\n            align-items: center; justify-content: flex-end;\r\n            text-align: center;\r\n            /* Last term lifts the wordmark above the mobile address bar:\r\n               (100lvh - 100svh) is the retractable bar height (0 on desktop). */\r\n            padding: 0 24px calc(clamp(44px, 7vh, 96px) + env(safe-area-inset-bottom, 0px) + (100lvh - 100svh));\r\n            will-change: opacity, transform;\r\n        }\r\n        .hd-hero-title {\r\n            margin: 0;\r\n            font-weight: 500;\r\n            letter-spacing: 0.1em;\r\n            line-height: 1.05;\r\n            font-size: clamp(36px, 6.5vw, 96px);\r\n            color: #F4F3EE;\r\n            text-shadow: 0 1px 40px rgba(0,0,0,0.35);\r\n        }\r\n        .hd-sr-only {\r\n            position: absolute; width: 1px; height: 1px;\r\n            padding: 0; margin: -1px; overflow: hidden;\r\n            clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;\r\n        }\r\n        .hd-logo {\r\n            display: block; margin: 0 auto; height: auto;\r\n            color: #F4F3EE;\r\n            filter: drop-shadow(0 1px 30px rgba(0,0,0,0.35));\r\n        }\r\n        .hd-logo--wordmark { width: clamp(240px, 56vw, 680px); }\r\n        .hd-logo--monogram { width: clamp(130px, 26vw, 340px); }\r\n        .hd-hero-cue {\r\n            display: inline-flex; align-items: center; gap: 9px;\r\n            margin-bottom: clamp(14px, 1.8vw, 22px);\r\n            font-size: clamp(11px, 0.9vw, 13px);\r\n            letter-spacing: 0.24em;\r\n            text-transform: uppercase;\r\n            font-weight: 500;\r\n            color: rgba(244, 243, 238, 0.86);\r\n        }\r\n        .hd-chevron { display: inline-flex; animation: hd-bounce 2.4s var(--ease) infinite; }\r\n        @keyframes hd-bounce {\r\n            0%, 100% { transform: translateY(0); }\r\n            50% { transform: translateY(4px); }\r\n        }\r\n\r\n        .hd-statement {\r\n            position: absolute; inset: 0; z-index: 3;\r\n            display: flex; align-items: center;\r\n            opacity: 0;\r\n            transform: translateY(42vh);\r\n            will-change: opacity, transform;\r\n        }\r\n        .hd-statement-inner {\r\n            width: 100%;\r\n            max-width: 900px;\r\n            margin: 0 auto;\r\n            padding: clamp(24px, 6vw, 80px);\r\n            text-align: center;\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n        }\r\n        .hd-headline {\r\n            margin: 0;\r\n            font-weight: 500;\r\n            line-height: 1.08;\r\n            letter-spacing: -0.01em;\r\n            text-transform: uppercase;\r\n            white-space: pre-line;\r\n            font-size: clamp(34px, 4.8vw, 68px);\r\n            color: var(--text);\r\n        }\r\n        .hd-body {\r\n            max-width: 600px;\r\n            margin: clamp(20px, 2.6vw, 32px) 0 0;\r\n        }\r\n        .hd-body p {\r\n            margin: 0 0 clamp(14px, 1.2vw, 18px);\r\n            font-weight: 400;\r\n            line-height: 1.55;\r\n            font-size: clamp(15px, 1.15vw, 18px);\r\n            color: color-mix(in srgb, var(--text) 80%, transparent);\r\n        }\r\n        .hd-body p:last-child { margin-bottom: 0; }\r\n        .hd-cta {\r\n            display: inline-flex; align-items: center; gap: 12px;\r\n            margin-top: clamp(6px, 1vw, 12px);\r\n            min-height: 48px;\r\n            padding: 0 22px;\r\n            border: 1px solid color-mix(in srgb, var(--text) 38%, transparent);\r\n            color: var(--text);\r\n            text-decoration: none;\r\n            font-size: 12.5px;\r\n            font-weight: 500;\r\n            letter-spacing: 0.14em;\r\n            text-transform: uppercase;\r\n            background: transparent;\r\n            transition: background-color 0.4s var(--ease), color 0.4s var(--ease),\r\n                border-color 0.4s var(--ease), transform 0.25s var(--ease);\r\n        }\r\n        @media (hover: hover) and (pointer: fine) {\r\n            .hd-cta:hover {\r\n                background: var(--text);\r\n                color: var(--bg);\r\n                border-color: var(--text);\r\n            }\r\n            .hd-cta:active { transform: scale(0.98); }\r\n        }\r\n\r\n        /* ---- Reduced motion / fallback: stacked, no pin ---- */\r\n        .hd-hero-block { position: relative; width: 100%; height: 100svh; height: 100dvh; overflow: hidden; }\r\n        .hd-statement-block { position: relative; width: 100%; background: var(--bg); padding: clamp(64px, 13vh, 150px) 0; }\r\n        .hd-hero--static { /* already centered via flex */ }\r\n\r\n        @media (max-width: 768px) {\r\n            .hd-statement-inner { padding: clamp(16px, 4vw, 32px); }\r\n            .hd-headline { font-size: clamp(22px, 6.4vw, 46px); text-wrap: balance; }\r\n            .hd-hero-title { font-size: clamp(21px, 6.2vw, 52px); text-wrap: balance; }\r\n            .hd-logo--wordmark { width: min(84vw, 460px); }\r\n            .hd-logo--monogram { width: min(46vw, 220px); }\r\n        }\r\n\r\n        @media (prefers-reduced-motion: reduce) {\r\n            .hd-chevron { animation: none; }\r\n            .hd-cta { transition: none; }\r\n        }\r\n    `;if(reduce){return /*#__PURE__*/_jsxs(\"div\",{className:\"hd-root\",style:rootStyle,children:[/*#__PURE__*/_jsx(\"style\",{children:styles}),/*#__PURE__*/_jsxs(\"section\",{className:\"hd-hero-block\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"hd-img\",children:im?.src?/*#__PURE__*/_jsx(\"img\",{src:im.src,srcSet:im.srcSet,alt:im.alt,draggable:false,decoding:\"async\"}):null}),/*#__PURE__*/_jsx(\"div\",{className:\"hd-img-scrim\"}),/*#__PURE__*/_jsx(HeroContent,{heroTitle:heroTitle,heroCue:heroCue,staticPos:true,titleTag:TitleTag,logoStyle:logoStyle})]}),/*#__PURE__*/_jsx(\"section\",{className:\"hd-statement-block\",children:/*#__PURE__*/_jsx(Statement,{statementHeadline:statementHeadline,bodyA:bodyA,bodyB:bodyB,ctaLabel:ctaLabel,ctaLink:ctaLink,headlineTag:StmtTag})})]});}return /*#__PURE__*/_jsxs(\"div\",{className:\"hd-root\",style:rootStyle,children:[/*#__PURE__*/_jsx(\"style\",{children:styles}),/*#__PURE__*/_jsx(\"div\",{className:\"hd-section\",ref:sectionRef,style:{height:`${((scrollLength||100)/100+1)*100}lvh`},children:/*#__PURE__*/_jsxs(\"div\",{className:\"hd-pin\",ref:pinRef,children:[/*#__PURE__*/_jsx(\"div\",{className:\"hd-img\",ref:imgRef,children:im?.src?/*#__PURE__*/_jsx(\"img\",{src:im.src,srcSet:im.srcSet,alt:im.alt,draggable:false,decoding:\"async\"}):null}),/*#__PURE__*/_jsx(\"div\",{className:\"hd-img-scrim\"}),/*#__PURE__*/_jsx(\"div\",{className:\"hd-veil\",ref:veilRef}),/*#__PURE__*/_jsxs(\"div\",{className:\"hd-hero\",ref:heroRef,children:[heroCue?/*#__PURE__*/_jsx(\"span\",{className:\"hd-hero-cue\",children:heroCue}):null,/*#__PURE__*/_jsx(TitleTag,{className:\"hd-hero-title\",children:/*#__PURE__*/_jsx(TitleInner,{logoStyle:logoStyle,heroTitle:heroTitle})})]}),/*#__PURE__*/_jsx(\"div\",{className:\"hd-statement\",ref:stmtRef,children:/*#__PURE__*/_jsx(Statement,{statementHeadline:statementHeadline,bodyA:bodyA,bodyB:bodyB,ctaLabel:ctaLabel,ctaLink:ctaLink,headlineTag:StmtTag})})]})})]});}const DEFAULT_PROPS={heroImage:undefined,heroTitle:\"ARCA Builders\",heroCue:\"DISCOVER\",logoStyle:\"monogram\",statementHeadline:\"Built to last.\\nWithout compromise.\",bodyA:\"ARCA builds architecturally significant custom luxury homes across Southern California.\",bodyB:\"We specialize in complex residential projects, executed exactly as designed.\",ctaLabel:\"Book Consultation\",ctaLink:\"https://arcabuilders.com/contact\",scrollLength:100,bgDark:\"#0A0A0A\",bgLight:\"#FFFFFF\",textDark:\"#F4F3EE\",textLight:\"#1A1A1A\",fontFamily:\"Satoshi, -apple-system, BlinkMacSystemFont, sans-serif\",headingLevel:\"h1\"};const PROPERTY_CONTROLS={heroImage:{type:ControlType.ResponsiveImage,title:\"Hero Image\"},heroImageAlt:{type:ControlType.String,title:\"Hero Image Alt\",defaultValue:\"\",description:\"Describes the photo for search engines and screen readers.\"},heroTitle:{type:ControlType.String,title:\"Hero Title\",defaultValue:DEFAULT_PROPS.heroTitle},heroCue:{type:ControlType.String,title:\"Scroll Cue\",defaultValue:DEFAULT_PROPS.heroCue},logoStyle:{type:ControlType.Enum,title:\"Hero Mark\",options:[\"wordmark\",\"monogram\",\"text\"],optionTitles:[\"ARCA Builders logo\",\"ARCA logo\",\"Text\"],defaultValue:DEFAULT_PROPS.logoStyle},statementHeadline:{type:ControlType.String,title:\"Statement\",displayTextArea:true,defaultValue:DEFAULT_PROPS.statementHeadline},bodyA:{type:ControlType.String,title:\"Body 1\",displayTextArea:true,defaultValue:DEFAULT_PROPS.bodyA},bodyB:{type:ControlType.String,title:\"Body 2\",displayTextArea:true,defaultValue:DEFAULT_PROPS.bodyB},ctaLabel:{type:ControlType.String,title:\"CTA Label\",defaultValue:DEFAULT_PROPS.ctaLabel},ctaLink:{type:ControlType.Link,title:\"CTA Link\",defaultValue:DEFAULT_PROPS.ctaLink},scrollLength:{type:ControlType.Number,title:\"Scroll Length\",min:50,max:250,step:10,unit:\"%\",defaultValue:DEFAULT_PROPS.scrollLength},bgDark:{type:ControlType.Color,title:\"BG \\xb7 Dark\",defaultValue:DEFAULT_PROPS.bgDark},bgLight:{type:ControlType.Color,title:\"BG \\xb7 Light\",defaultValue:DEFAULT_PROPS.bgLight},textDark:{type:ControlType.Color,title:\"Text \\xb7 Dark\",defaultValue:DEFAULT_PROPS.textDark},textLight:{type:ControlType.Color,title:\"Text \\xb7 Light\",defaultValue:DEFAULT_PROPS.textLight},fontFamily:{type:ControlType.String,title:\"Font\",defaultValue:DEFAULT_PROPS.fontFamily},headingLevel:{type:ControlType.Enum,title:\"Heading\",options:[\"h1\",\"h2\"],optionTitles:[\"H1 / H2\",\"H2 / H3\"],defaultValue:DEFAULT_PROPS.headingLevel}};ExternalComponent.defaultProps=DEFAULT_PROPS;/**\r\n * @framerIntrinsicWidth 1400\r\n * @framerIntrinsicHeight 1800\r\n * @framerSupportedLayoutWidth any\r\n * @framerSupportedLayoutHeight any\r\n */export default function HeroDissolve(props){const isStaticRenderer=useIsStaticRenderer();const{splitStatement=false,statementHeadline,bodyA,bodyB,ctaLabel,ctaLink,fontFamily,textDark=\"#FFFFFF\",...rest}=props;const rootRef=useRef(null);const[isDesktop,setIsDesktop]=useState(true);const[progress,setProgress]=useState(0);useEffect(()=>{if(typeof window===\"undefined\")return;const updateWidth=()=>{const width=rootRef.current?.getBoundingClientRect().width??window.innerWidth;startTransition(()=>setIsDesktop(width>1e3));};updateWidth();window.addEventListener(\"resize\",updateWidth);if(\"ResizeObserver\"in window&&rootRef.current){const observer=new ResizeObserver(()=>updateWidth());observer.observe(rootRef.current);return()=>{observer.disconnect();window.removeEventListener(\"resize\",updateWidth);};}return()=>window.removeEventListener(\"resize\",updateWidth);},[]);useEffect(()=>{if(typeof window===\"undefined\")return;if(!splitStatement)return;if(isStaticRenderer){startTransition(()=>setProgress(1));return;}if(!rootRef.current)return;let frame=0;const update=()=>{frame=0;const rect=rootRef.current?.getBoundingClientRect();if(!rect)return;const vh=window.innerHeight||1;const runway=Math.max(rect.height-vh,1);const next=Math.min(1,Math.max(0,-rect.top/runway));startTransition(()=>setProgress(next));};const onScroll=()=>{if(frame!==0)return;frame=window.requestAnimationFrame(update);};update();window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"resize\",onScroll);return()=>{window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"resize\",onScroll);if(frame!==0)window.cancelAnimationFrame(frame);};},[isStaticRenderer,splitStatement]);const statementOpacity=useMemo(()=>{if(!splitStatement)return 0;if(isStaticRenderer)return 1;const start=.35;const end=.75;const t=Math.min(1,Math.max(0,(progress-start)/(end-start)));return t;},[isStaticRenderer,progress,splitStatement]);const statementTranslateY=useMemo(()=>{if(!splitStatement)return 24;const t=statementOpacity;return 24*(1-t);},[splitStatement,statementOpacity]);if(!splitStatement){return /*#__PURE__*/_jsx(ExternalComponent,{...props});}return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,style:{position:\"relative\",width:\"100%\"},children:[/*#__PURE__*/_jsx(ExternalComponent,{...rest,statementHeadline:\"\",bodyA:\"\",bodyB:\"\",ctaLabel:\"\"}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"sticky\",top:0,height:\"100vh\",width:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",opacity:statementOpacity,transform:`translateY(${statementTranslateY}px)`,transition:isStaticRenderer?\"none\":\"opacity 0.24s ease-out, transform 0.24s ease-out\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",padding:isDesktop?\"clamp(24px, 6vw, 96px)\":\"40px 16px\",display:\"grid\",gridTemplateColumns:isDesktop?\"48% 42%\":\"1fr\",justifyContent:\"space-between\",alignItems:\"center\",gap:28,color:textDark},children:[/*#__PURE__*/_jsxs(\"div\",{style:{minWidth:0},children:[/*#__PURE__*/_jsx(\"h2\",{style:{margin:0,color:textDark,fontFamily:fontFamily||\"Satoshi, Inter, sans-serif\",fontSize:isDesktop?\"clamp(40px, 4.5vw, 64px)\":\"26px\",fontWeight:300,lineHeight:1.1,letterSpacing:\"0em\",whiteSpace:\"pre-line\"},children:statementHeadline}),isDesktop&&ctaLabel?/*#__PURE__*/_jsx(\"a\",{href:ctaLink,style:{pointerEvents:\"auto\",display:\"inline-flex\",alignItems:\"center\",marginTop:24,padding:\"12px 18px\",border:`1px solid ${textDark}`,color:textDark,textDecoration:\"none\",textTransform:\"uppercase\",letterSpacing:\"0.08em\",fontSize:13,lineHeight:1},children:ctaLabel}):null]}),/*#__PURE__*/_jsxs(\"div\",{style:{minWidth:0},children:[bodyA?/*#__PURE__*/_jsx(\"p\",{style:{margin:0,color:textDark,fontSize:16,fontWeight:700,lineHeight:1.6,whiteSpace:\"pre-line\"},children:bodyA}):null,bodyB?/*#__PURE__*/_jsx(\"p\",{style:{margin:bodyA?\"14px 0 0 0\":0,color:textDark,opacity:.85,fontSize:16,fontWeight:400,lineHeight:1.7,whiteSpace:\"pre-line\"},children:bodyB}):null,!isDesktop&&ctaLabel?/*#__PURE__*/_jsx(\"a\",{href:ctaLink,style:{pointerEvents:\"auto\",display:\"inline-flex\",alignItems:\"center\",marginTop:24,padding:\"12px 18px\",border:`1px solid ${textDark}`,color:textDark,textDecoration:\"none\",textTransform:\"uppercase\",letterSpacing:\"0.08em\",fontSize:13,lineHeight:1},children:ctaLabel}):null]})]})})})]});}HeroDissolve.defaultProps=DEFAULT_PROPS;addPropertyControls(HeroDissolve,{...PROPERTY_CONTROLS,splitStatement:{type:ControlType.Boolean,title:\"Split Statement\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"HeroDissolve\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1400\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicHeight\":\"1800\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ARCA_Hero.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{ControlType,addPropertyControls}from\"framer\";const clamp=(v,a,b)=>Math.max(a,Math.min(b,v));// Framer's image control returns an object; accept a bare URL string too.\nfunction resolveImage(img){if(!img)return null;if(typeof img===\"string\")return{src:img,srcSet:undefined,alt:\"\"};return{src:img.src,srcSet:img.srcSet,alt:img.alt||\"\"};}function usePrefersReducedMotion(){const[reduce,setReduce]=useState(false);useEffect(()=>{if(typeof window===\"undefined\"||!window.matchMedia)return;const mq=window.matchMedia(\"(prefers-reduced-motion: reduce)\");const on=()=>setReduce(mq.matches);on();mq.addEventListener?.(\"change\",on);return()=>mq.removeEventListener?.(\"change\",on);},[]);return reduce;}// True on phone-width viewports, where the section uses full-width standards\n// and the stepped scroll mapping (instead of the continuous desktop one).\nfunction useIsNarrow(maxWidth=768){const[narrow,setNarrow]=useState(false);useEffect(()=>{if(typeof window===\"undefined\"||!window.matchMedia)return;const mq=window.matchMedia(`(max-width: ${maxWidth}px)`);const on=()=>setNarrow(mq.matches);on();mq.addEventListener?.(\"change\",on);return()=>mq.removeEventListener?.(\"change\",on);},[maxWidth]);return narrow;}// Follows the site's light / dark theme (Framestack attribute or body luma).\nfunction useThemeObserver(){const[theme,setTheme]=useState(\"dark\");useEffect(()=>{if(typeof document===\"undefined\")return;const read=()=>{const attr=document.body.getAttribute(\"data-framestack-theme\")||document.body.getAttribute(\"framestack-theme\")||document.documentElement.getAttribute(\"data-framestack-theme\")||document.documentElement.getAttribute(\"framestack-theme\");if(attr===\"light\"||attr===\"dark\"){setTheme(attr);return;}const bg=getComputedStyle(document.body).backgroundColor;const m=bg.match(/\\d+/g);if(m&&m.length>=3){const[r,g,b]=m.map(Number);const lum=(.299*r+.587*g+.114*b)/255;setTheme(lum>.5?\"light\":\"dark\");}};read();const obs=new MutationObserver(read);obs.observe(document.body,{attributes:true,attributeFilter:[\"data-framestack-theme\",\"framestack-theme\",\"class\",\"style\"]});obs.observe(document.documentElement,{attributes:true,attributeFilter:[\"data-framestack-theme\",\"framestack-theme\",\"class\"]});window.addEventListener(\"framestack-theme\",read);window.addEventListener(\"themechange\",read);return()=>{obs.disconnect();window.removeEventListener(\"framestack-theme\",read);window.removeEventListener(\"themechange\",read);};},[]);return theme;}function Media({image,alt,eager}){const im=resolveImage(image);if(!im?.src)return /*#__PURE__*/_jsx(\"div\",{className:\"as-media\"});return /*#__PURE__*/_jsxs(\"div\",{className:\"as-media\",children:[/*#__PURE__*/_jsx(\"img\",{src:im.src,srcSet:im.srcSet,alt:im.alt||alt,draggable:false,loading:eager?\"eager\":\"lazy\",decoding:\"async\"}),/*#__PURE__*/_jsx(\"div\",{className:\"as-scrim-bottom\"})]});}function ExternalComponent(props){const{eyebrow,headline,introImage,panels,textDark,textLight,scrimStrength,fontFamily,headingLevel,mobileScrollLength}=props;const reduce=usePrefersReducedMotion();const isNarrow=useIsNarrow();const theme=useThemeObserver();const sectionRef=useRef(null);const pinRef=useRef(null);const trackRef=useRef(null);const progressRef=useRef(null);const items=Array.isArray(panels)?panels.filter(p=>p&&(p.title||p.body||p.image)):[];// Section heading + one level down for each standard, for a clean outline.\nconst IntroTag=headingLevel===\"h3\"?\"h3\":\"h2\";const LabelTag=headingLevel===\"h3\"?\"h4\":\"h3\";// One rAF-throttled scroll handler drives the whole pinned view: track\n// position, photo parallax, text reveal, the photo entry fade and the\n// progress indicator. Every value is a pure function of scroll position,\n// so nothing ever moves the page on its own (no scrollTo, no timers).\nuseEffect(()=>{if(typeof window===\"undefined\")return;const section=sectionRef.current;const track=trackRef.current;const pin=pinRef.current;if(!section||!track||!pin)return;const panelEls=Array.from(track.querySelectorAll(\".as-panel\"));const mediaEls=panelEls.map(el=>el.querySelector(\".as-media\"));const imgEls=panelEls.map(el=>el.querySelector(\".as-media img\"));const copyEls=panelEls.map(el=>el.querySelector(\".as-copy, .as-intro-inner\"));const titleEls=panelEls.map(el=>el.querySelector(\".as-title-line\"));const bodyEls=panelEls.map(el=>el.querySelector(\".as-body\"));const introEl=panelEls[0]?.querySelector(\".as-intro-inner\")??null;const progressEl=progressRef.current;const segEls=progressEl?Array.from(progressEl.querySelectorAll(\".as-seg-fill\")):[];// Reduced motion: no JS scroll effect at all. Clear anything a prior\n// render wrote so the CSS vertical-stack fallback owns the layout.\nif(reduce){section.style.height=\"\";track.style.transform=\"\";track.style.gap=\"\";for(const el of panelEls)el.style.width=\"\";for(const el of[...mediaEls,...imgEls,...titleEls,...bodyEls,introEl]){if(!el)continue;el.style.opacity=\"\";el.style.transform=\"\";}return;}// Desktop / tablet dwell at each end (intro head, last-card tail), in lvh.\nconst HANG_LVH=25;// Phones: share of each card's scroll slice spent resting centred.\nconst REST=.42;// Photo drift inside its frame, in % of the image's own width.\nconst PARALLAX=6;let raf=0;let lefts=[];let widths=[];let insets=[];let titleWs=[];let bodyWs=[];let dist=0;let vw=1;let progressOn=false;// Skip style writes that would not visibly change anything.\nconst lastO=new Map;const lastT=new Map;const setO=(el,v)=>{if(!el||lastO.get(el)===v)return;lastO.set(el,v);el.style.opacity=v;};const setT=(el,v)=>{if(!el||lastT.get(el)===v)return;lastT.set(el,v);el.style.transform=v;};const ease=u=>u<.5?4*u*u*u:1-Math.pow(-2*u+2,3)/2;const smooth=u=>u*u*(3-2*u);// Whole device pixels, so panel edges never fall between pixels.\nconst snap=v=>{const d=window.devicePixelRatio||1;return Math.round(v*d)/d;};// Section height drives the travel. lvh is the STABLE large viewport,\n// so the mobile address bar showing/hiding never changes the height.\nconst measure=()=>{vw=pin.clientWidth||window.innerWidth;// A wrapped heading's box keeps its full max-width; shrink it to\n// the longest rendered line so the intro panel hugs its text.\nconst headline=introEl?.querySelector(\".as-intro-headline\");if(headline&&!isNarrow){headline.style.width=\"\";const range=document.createRange();range.selectNodeContents(headline);const lineW=Math.max(0,...Array.from(range.getClientRects()).map(r=>r.width));if(lineW>0)headline.style.width=`${Math.ceil(lineW)+1}px`;}else if(headline){headline.style.width=\"\";}// Whole-pixel panel widths and gap. A fractional edge rasterises\n// the photo and its scrim a pixel apart, which shows as a light seam.\ntrack.style.gap=\"\";const gap=parseFloat(getComputedStyle(track).columnGap)||0;track.style.gap=`${Math.round(gap)}px`;for(const el of panelEls)el.style.width=\"\";const panelWs=panelEls.map(el=>el.getBoundingClientRect().width);panelEls.forEach((el,i)=>el.style.width=`${Math.round(panelWs[i])}px`);lefts=panelEls.map(el=>el.offsetLeft);widths=panelEls.map(el=>el.offsetWidth);// Where each card's copy sits, for the edge-aware text reveal.\ninsets=copyEls.map(el=>Math.max(16,el?.offsetLeft??24));// Rendered width of each title / body (longest line), so the reveal\n// knows exactly when the words themselves fit on screen.\nconst textW=el=>{if(!el)return 0;const range=document.createRange();range.selectNodeContents(el);return Math.max(0,...Array.from(range.getClientRects()).map(r=>r.width));};titleWs=panelEls.map((_,i)=>i===0?textW(introEl):textW(titleEls[i]));bodyWs=panelEls.map((_,i)=>i===0?0:textW(bodyEls[i]));dist=Math.max(0,track.scrollWidth-vw);section.style.height=isNarrow?`calc(100lvh + ${panelEls.length-1} * var(--as-step, 70lvh))`:`calc(${dist}px + ${100+2*HANG_LVH}lvh)`;};const trackX=top=>{const ph=pin.clientHeight;if(!isNarrow){const head=ph*(HANG_LVH/100);return clamp(-top-head,0,dist);}// Phones: each standard rests fully centred for REST of its slice,\n// then eases to the next. Mandatory pass-through, finger in control.\nconst scrollable=section.offsetHeight-ph;const p=scrollable>0?clamp(-top/scrollable,0,1):0;const n=panelEls.length-1;if(n<=0)return 0;const pos=p*n;const s=Math.min(n-1,Math.floor(pos));const u=clamp((pos-s-REST/2)/(1-REST),0,1);const a=Math.min(lefts[s],dist);const b=Math.min(lefts[s+1],dist);return a+(b-a)*ease(u);};const update=()=>{raf=0;const rect=section.getBoundingClientRect();const vh=pin.clientHeight||window.innerHeight;const x=trackX(rect.top);setT(track,`translate3d(${-snap(x)}px, 0, 0)`);// Photos fade up as the section rises into view, so the first\n// frames don't collide with the section above.\nconst enter=clamp((vh-rect.top)/vh,0,1);const mediaO=smooth(clamp((enter-.25)/.75,0,1)).toFixed(3);for(let i=0;i<panelEls.length;i++){const L=lefts[i]-x;const W=widths[i];setO(mediaEls[i],mediaO);if(L<vw&&L+W>0){const c=clamp((L+W/2-vw/2)/vw,-1,1);setT(imgEls[i],`translate3d(${(-c*PARALLAX).toFixed(2)}%, 0, 0)`);}// Words are never clipped by the screen edge. Each title / body\n// appears only once all of it is on screen (ramping in over the\n// last inset px), and is gone before its first letter reaches\n// the left edge. The title rises out of its mask; the body\n// follows a beat later.\nconst ins=insets[i];const left=clamp(-L/ins,0,1);const reveal=w=>smooth(1-Math.max(left,clamp((L+ins+w-vw+ins)/ins,0,1)));const o=reveal(titleWs[i]);if(i===0){setO(introEl,o.toFixed(3));continue;}setT(titleEls[i],`translate3d(0, ${((1-o)*125).toFixed(1)}%, 0)`);const ob=smooth(clamp((reveal(bodyWs[i])-.35)/.65,0,1));setO(bodyEls[i],ob.toFixed(3));setT(bodyEls[i],`translate3d(0, ${((1-ob)*10).toFixed(1)}px, 0)`);}if(progressEl){const pinned=rect.top<=1&&rect.bottom>=vh-1;if(pinned!==progressOn){progressOn=pinned;progressEl.classList.toggle(\"is-on\",pinned);}const f=dist>0?x/dist:0;const n=segEls.length;for(let i=0;i<n;i++){setT(segEls[i],`scaleX(${clamp(f*n-i,0,1).toFixed(3)})`);}}};const onScroll=()=>{if(!raf)raf=requestAnimationFrame(update);};const onResize=()=>{measure();update();};measure();update();// Text widths change once the web font arrives.\ndocument.fonts?.ready?.then(onResize);window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"resize\",onResize);window.addEventListener(\"load\",onResize);return()=>{window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"resize\",onResize);window.removeEventListener(\"load\",onResize);cancelAnimationFrame(raf);};},[reduce,isNarrow,items.length]);const rootStyle={\"--text\":theme===\"light\"?textLight:textDark,\"--scrim\":String(scrimStrength),// Per-card vertical scroll distance on mobile (rest + transition).\n\"--as-step\":`${mobileScrollLength}lvh`,// Only override the CSS Satoshi default when a font is actually set.\n...fontFamily?{fontFamily}:null};// Height is managed imperatively by the effect (calc(dist + 100lvh));\n// reduced motion uses CSS auto height via the media query.\nconst sectionStyle={};const introIm=resolveImage(introImage);const styles=`\r\n        .as-root {\r\n            --ease: cubic-bezier(0.16, 1, 0.3, 1);\r\n            font-family: 'Satoshi', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;\r\n            position: relative;\r\n            width: 100%;\r\n            max-width: 100%;\r\n            background: transparent;\r\n            color: var(--text);\r\n        }\r\n        .as-root * { box-sizing: border-box; min-width: 0; }\r\n\r\n        .as-section { position: relative; width: 100%; }\r\n\r\n        .as-pin {\r\n            position: sticky;\r\n            top: 0;\r\n            width: 100%;\r\n            height: 100vh;\r\n            height: 100lvh;\r\n            overflow: hidden;\r\n        }\r\n        .as-track {\r\n            display: flex;\r\n            gap: clamp(6px, 0.6vw, 10px);\r\n            height: 100%;\r\n            will-change: transform;\r\n        }\r\n\r\n        .as-panel {\r\n            position: relative;\r\n            flex: 0 0 auto;\r\n            width: clamp(360px, 44vw, 720px);\r\n            height: 100%;\r\n            overflow: hidden;\r\n            background: transparent;\r\n        }\r\n        /* The intro panel is as wide as its text (plus breathing room), so no\r\n           empty field is left behind once the text moves off. */\r\n        .as-panel--intro {\r\n            width: auto;\r\n            display: flex;\r\n            align-items: center;\r\n            padding: 0 clamp(40px, 4.5vw, 88px) 0 clamp(22px, 2.6vw, 52px);\r\n        }\r\n\r\n        /* Over a full-bleed image, text stays light regardless of theme. */\r\n        .as-panel--img { --text: #F4F3EE; }\r\n\r\n        .as-media { position: absolute; inset: 0; overflow: hidden; }\r\n        /* 14% wider than its frame so the scroll parallax never shows an edge. */\r\n        .as-media img {\r\n            width: 114%; height: 100%; margin-left: -7%;\r\n            object-fit: cover; display: block;\r\n            will-change: transform;\r\n        }\r\n\r\n        /* One scrim, behind the copy at the bottom. The upper part of every\r\n           photograph stays untouched. */\r\n        .as-scrim-bottom {\r\n            position: absolute; inset: 0; pointer-events: none;\r\n            background: linear-gradient(\r\n                to top,\r\n                rgba(0,0,0, calc(var(--scrim) * 0.9)) 0%,\r\n                rgba(0,0,0, calc(var(--scrim) * 0.62)) 18%,\r\n                rgba(0,0,0, calc(var(--scrim) * 0.28)) 34%,\r\n                rgba(0,0,0, 0) 54%\r\n            );\r\n        }\r\n\r\n        /* Copy block: large sentence-case title over a short body, bottom-left.\r\n           (100lvh - 100svh) lifts it above the mobile address bar (0 on desktop). */\r\n        .as-copy {\r\n            position: absolute;\r\n            left: clamp(22px, 2.6vw, 52px);\r\n            right: clamp(22px, 2.6vw, 52px);\r\n            bottom: calc(clamp(28px, 3.4vw, 64px) + env(safe-area-inset-bottom, 0px) + (100lvh - 100svh));\r\n            z-index: 2;\r\n            color: var(--text);\r\n        }\r\n        .as-title {\r\n            /* The mask the title rises out of; padding keeps descenders. */\r\n            overflow: hidden;\r\n            padding-bottom: 0.12em;\r\n            margin: 0 0 calc(clamp(12px, 1.3vw, 20px) - 0.12em);\r\n            font-weight: 400;\r\n            letter-spacing: -0.025em;\r\n            line-height: 1;\r\n            font-size: clamp(38px, 4.6vw, 84px);\r\n            color: var(--text);\r\n        }\r\n        .as-title-line {\r\n            display: block;\r\n            text-wrap: balance;\r\n            text-shadow: 0 1px 24px rgba(0,0,0,0.22);\r\n            will-change: transform;\r\n        }\r\n        .as-body {\r\n            margin: 0;\r\n            max-width: 38ch;\r\n            font-weight: 400;\r\n            color: color-mix(in srgb, var(--text) 80%, transparent);\r\n            font-size: clamp(15px, 1.05vw, 18px);\r\n            line-height: 1.55;\r\n            text-shadow: 0 1px 14px rgba(0,0,0,0.3);\r\n            will-change: opacity, transform;\r\n        }\r\n\r\n        /* In flow (centred by the panel's flex), so it sets the panel width\r\n           and the scroll-driven reveal can own transform. */\r\n        .as-intro-inner {\r\n            position: relative;\r\n            z-index: 2;\r\n            will-change: opacity, transform;\r\n        }\r\n\r\n        /* Progress: one hairline segment per standard, so a visitor always\r\n           knows how many remain. Blends with \"difference\" so it reads over\r\n           photos and plain panels alike. */\r\n        .as-progress {\r\n            position: absolute;\r\n            right: clamp(22px, 2.6vw, 52px);\r\n            bottom: calc(clamp(28px, 3.4vw, 64px) + env(safe-area-inset-bottom, 0px) + (100lvh - 100svh));\r\n            z-index: 3;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 14px;\r\n            color: #fff;\r\n            mix-blend-mode: difference;\r\n            opacity: 0;\r\n            transition: opacity 400ms var(--ease);\r\n            pointer-events: none;\r\n        }\r\n        .as-progress.is-on { opacity: 1; }\r\n        .as-segs { display: flex; gap: 6px; }\r\n        .as-seg {\r\n            position: relative;\r\n            width: clamp(20px, 2vw, 32px);\r\n            height: 1px;\r\n            background: rgba(255,255,255,0.32);\r\n            overflow: hidden;\r\n        }\r\n        .as-seg-fill {\r\n            position: absolute;\r\n            inset: 0;\r\n            background: #fff;\r\n            transform: scaleX(0);\r\n            transform-origin: left center;\r\n        }\r\n        .as-intro-eyebrow {\r\n            display: block;\r\n            margin: 0 0 clamp(14px, 1.5vw, 24px);\r\n            font-weight: 500;\r\n            letter-spacing: 0;\r\n            font-size: clamp(15px, 1.15vw, 18px);\r\n            color: color-mix(in srgb, var(--text) 64%, transparent);\r\n        }\r\n        .as-intro-headline {\r\n            margin: 0;\r\n            font-weight: 500;\r\n            letter-spacing: -0.02em;\r\n            line-height: 1.0;\r\n            max-width: 8.5em;\r\n            text-wrap: pretty;\r\n            font-size: clamp(40px, 5.2vw, 96px);\r\n            color: var(--text);\r\n        }\r\n\r\n        /* Mobile: same pinned vertical-scroll-drives-horizontal motion as\r\n           desktop, but each standard is full-width and the scroll mapping rests on\r\n           each one before easing to the next (see trackX in the scroll effect). */\r\n        @media (max-width: 768px) {\r\n            .as-track { gap: 8px; }\r\n            .as-panel { width: 100vw; }\r\n            .as-panel--intro { width: 100vw; padding-right: clamp(22px, 2.6vw, 52px); }\r\n            .as-title { font-size: clamp(26px, 7.6vw, 44px); }\r\n            .as-body { font-size: clamp(15px, 4vw, 16px); }\r\n            .as-intro-headline { font-size: clamp(28px, 8vw, 48px); }\r\n            /* Room under the copy for the progress hairlines. */\r\n            .as-copy {\r\n                bottom: calc(56px + env(safe-area-inset-bottom, 0px) + (100lvh - 100svh));\r\n            }\r\n            .as-progress {\r\n                left: clamp(22px, 2.6vw, 52px);\r\n                right: auto;\r\n                bottom: calc(24px + env(safe-area-inset-bottom, 0px) + (100lvh - 100svh));\r\n            }\r\n        }\r\n\r\n        /* Tablet portrait: one generous card plus a peek of the next, rather\r\n           than a strip of narrow slices. */\r\n        @media (min-width: 769px) and (max-width: 1180px) and (orientation: portrait) {\r\n            .as-panel { width: 72vw; }\r\n        }\r\n\r\n        /* Short viewports (landscape phones): the copy takes a larger share of\r\n           the panel height, so extend the scrim further up behind it. */\r\n        @media (max-height: 600px) {\r\n            .as-scrim-bottom {\r\n                background: linear-gradient(\r\n                    to top,\r\n                    rgba(0,0,0, var(--scrim)) 0%,\r\n                    rgba(0,0,0, calc(var(--scrim) * 0.72)) 32%,\r\n                    rgba(0,0,0, calc(var(--scrim) * 0.36)) 58%,\r\n                    rgba(0,0,0, 0) 84%\r\n                );\r\n            }\r\n            .as-title { font-size: clamp(28px, 6vh, 44px); }\r\n        }\r\n\r\n        /* Reduced motion only: no scroll pinning. Panels stack vertically for a\r\n           static, accessible read. Wins over the mobile rules via !important. */\r\n        @media (prefers-reduced-motion: reduce) {\r\n            .as-section { height: auto !important; }\r\n            .as-pin {\r\n                position: static !important;\r\n                height: auto !important;\r\n                overflow: visible !important;\r\n            }\r\n            .as-track { flex-direction: column !important; transform: none !important; }\r\n            .as-panel { width: 100% !important; height: auto !important; min-height: 100svh; }\r\n            .as-panel--intro { width: 100% !important; }\r\n        }\r\n    `;return /*#__PURE__*/_jsxs(\"div\",{className:\"as-root\",style:rootStyle,children:[/*#__PURE__*/_jsx(\"style\",{children:styles}),/*#__PURE__*/_jsx(\"div\",{className:\"as-section\",ref:sectionRef,style:sectionStyle,children:/*#__PURE__*/_jsxs(\"div\",{className:\"as-pin\",ref:pinRef,children:[/*#__PURE__*/_jsxs(\"div\",{className:\"as-track\",ref:trackRef,children:[/*#__PURE__*/_jsxs(\"section\",{className:`as-panel as-panel--intro ${introIm?.src?\"as-panel--img\":\"\"}`,children:[/*#__PURE__*/_jsx(Media,{image:introImage,alt:\"\",eager:true}),/*#__PURE__*/_jsxs(\"div\",{className:\"as-intro-inner\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"as-intro-eyebrow\",children:eyebrow}),/*#__PURE__*/_jsx(IntroTag,{className:\"as-intro-headline\",children:headline})]})]}),items.map((p,i)=>{const hasImg=!!resolveImage(p.image)?.src;return /*#__PURE__*/_jsxs(\"section\",{className:`as-panel ${hasImg?\"as-panel--img\":\"\"}`,children:[/*#__PURE__*/_jsx(Media,{image:p.image,alt:p.alt||p.title,eager:i===0}),/*#__PURE__*/_jsxs(\"div\",{className:\"as-copy\",children:[/*#__PURE__*/_jsx(LabelTag,{className:\"as-title\",children:/*#__PURE__*/_jsx(\"span\",{className:\"as-title-line\",children:p.title})}),/*#__PURE__*/_jsx(\"p\",{className:\"as-body\",children:p.body})]})]},i);})]}),items.length>1?/*#__PURE__*/_jsx(\"div\",{className:\"as-progress\",ref:progressRef,\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"div\",{className:\"as-segs\",children:items.map((_,i)=>/*#__PURE__*/_jsx(\"span\",{className:\"as-seg\",children:/*#__PURE__*/_jsx(\"span\",{className:\"as-seg-fill\"})},i))})}):null]})})]});}const DEFAULT_PROPS={eyebrow:\"THE ARCA STANDARD\",headline:\"How we build and why it matters.\",introImage:undefined,panels:[{title:\"Durability\",body:\"Built to last for generations. We use advanced construction methods and materials so your home performs at its best across decades of daily use.\"},{title:\"Craftsmanship\",body:\"The most exacting details are where craft shows. We bring the design to life as beautifully as intended, by trades proven on the most demanding work.\"},{title:\"Health\",body:\"A home should make you healthier for living in it. Filtered air and water, low-emission materials, and daylight planned into the architecture from the start.\"},{title:\"Comfort\",body:\"Consistent temperature, true quiet, and intelligent systems that make daily life easier. The home does the work so you never have to think about it.\"}],textDark:\"#F4F3EE\",textLight:\"#1A1A1A\",scrimStrength:.82,fontFamily:\"Satoshi, -apple-system, BlinkMacSystemFont, sans-serif\",headingLevel:\"h2\",mobileScrollLength:60};const PROPERTY_CONTROLS={eyebrow:{type:ControlType.String,title:\"Eyebrow\",defaultValue:DEFAULT_PROPS.eyebrow},headline:{type:ControlType.String,title:\"Headline\",displayTextArea:true,defaultValue:DEFAULT_PROPS.headline},introImage:{type:ControlType.ResponsiveImage,title:\"Intro Image\"},panels:{type:ControlType.Array,title:\"Standards\",maxCount:8,control:{type:ControlType.Object,controls:{image:{type:ControlType.ResponsiveImage,title:\"Image\"},alt:{type:ControlType.String,title:\"Alt Text\",defaultValue:\"\",description:\"Describes the photo for search engines and screen readers.\"},title:{type:ControlType.String,title:\"Title\",defaultValue:\"\"},body:{type:ControlType.String,title:\"Body\",displayTextArea:true,defaultValue:\"\"}}},defaultValue:DEFAULT_PROPS.panels},textDark:{type:ControlType.Color,title:\"Text \\xb7 Dark\",defaultValue:DEFAULT_PROPS.textDark},textLight:{type:ControlType.Color,title:\"Text \\xb7 Light\",defaultValue:DEFAULT_PROPS.textLight},scrimStrength:{type:ControlType.Number,title:\"Scrim\",min:0,max:1,step:.02,defaultValue:DEFAULT_PROPS.scrimStrength},fontFamily:{type:ControlType.String,title:\"Font\",defaultValue:DEFAULT_PROPS.fontFamily},headingLevel:{type:ControlType.Enum,title:\"Heading\",options:[\"h2\",\"h3\"],optionTitles:[\"H2 / H3\",\"H3 / H4\"],defaultValue:DEFAULT_PROPS.headingLevel},mobileScrollLength:{type:ControlType.Number,title:\"Mobile Scroll / Card\",description:\"How far you scroll to move between standards on mobile, as a percent of screen height. Lower = quicker, less swiping.\",min:40,max:100,step:5,unit:\"%\",defaultValue:DEFAULT_PROPS.mobileScrollLength}};ExternalComponent.defaultProps=DEFAULT_PROPS;/**\r\n * @framerIntrinsicWidth 1400\r\n * @framerIntrinsicHeight 3200\r\n * @framerSupportedLayoutWidth any\r\n * @framerSupportedLayoutHeight any\r\n */export default function ArcaStandard(props){return /*#__PURE__*/_jsx(ExternalComponent,{...props});}ArcaStandard.defaultProps=DEFAULT_PROPS;addPropertyControls(ArcaStandard,PROPERTY_CONTROLS);\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ArcaStandard\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1400\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicHeight\":\"3200\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ARCA_Standard.map"],"mappings":"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"}