{"version":3,"file":"FAQList.ozNhc3T3.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/gzdGQb3RZZoqJXiOBUlq/xGJkAhioqUAxCJNbrN30/FAQList.js"],"sourcesContent":["// FAQ accordion: rows open with a height animation (grid 0fr -> 1fr), the plus turns into a minus,\n// and a sonar hairline sweeps under the open row. One open at a time.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useState}from\"react\";// Shared UI kit for Benthra section components. Inlined by build.py at //@@KIT@@ (exports stripped).\nconst KIT_FONTS=`@import url(\"https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:wght@400..800&family=Martian+Mono:wdth,wght@75..112.5,300..600&display=swap\");`;const kclamp=(v,a=0,b=1)=>Math.min(b,Math.max(a,v));const keaseOut=x=>1-Math.pow(1-x,3);// Scroll progress of an element through the viewport, written to a CSS variable (--p) and\n// handed to an optional callback. Runs on rAF while near the viewport, with a slow interval\n// fallback for hidden tabs, so it never depends on scroll events alone.\n// mode \"through\": 0 when the top enters the bottom of the viewport, 1 when the bottom leaves the top.\n// mode \"pin\": 0 when the top hits the top of the viewport, 1 when the bottom hits the bottom.\nfunction useScrollProgress(ref,mode,cb,frozen){useEffect(()=>{const el=ref.current;if(!el||typeof window===\"undefined\")return;let raf=0,last=-1,lastT=0;const read=()=>{const r=el.getBoundingClientRect();const vh=window.innerHeight||800;let p;if(frozen!==undefined&&frozen>=0)p=frozen;else if(mode===\"pin\")p=kclamp(-r.top/Math.max(1,r.height-vh));else p=kclamp((vh-r.top)/(vh+r.height));if(Math.abs(p-last)>4e-4){last=p;el.style.setProperty(\"--p\",p.toFixed(4));if(cb)cb(p);}return r.bottom>-200&&r.top<vh+200;};const tick=()=>{raf=requestAnimationFrame(tick);lastT=performance.now();read();};read();raf=requestAnimationFrame(tick);const iv=window.setInterval(()=>{if(performance.now()-lastT>400)read();},250);return()=>{cancelAnimationFrame(raf);window.clearInterval(iv);};},[ref,mode,frozen]);}// True once the element has come into view (rect polling; IntersectionObserver is unreliable in Framer previews).\nfunction useSeen(ref,threshold=.2,force=false){const[seen,setSeen]=useState(force);useEffect(()=>{if(seen)return;const el=ref.current;if(!el||typeof window===\"undefined\")return;const check=()=>{const r=el.getBoundingClientRect();const vh=window.innerHeight||800;if(r.top<vh*(1-threshold)&&r.bottom>0){setSeen(true);return true;}return false;};if(check())return;const onS=()=>check();window.addEventListener(\"scroll\",onS,{passive:true});const iv=window.setInterval(check,250);// never leave content hidden: reveal after 2.5 s regardless\nconst to=window.setTimeout(()=>setSeen(true),2500);return()=>{window.removeEventListener(\"scroll\",onS);window.clearInterval(iv);window.clearTimeout(to);};},[ref,seen,threshold]);return seen;}function useReducedMotion(){const[r,setR]=useState(false);useEffect(()=>{if(typeof window===\"undefined\"||!window.matchMedia)return;const m=window.matchMedia(\"(prefers-reduced-motion: reduce)\");setR(m.matches);},[]);return r;}const DEFAULT_QA=[{q:\"Do we need a ship on site at all?\",a:\"For most work, no. K6 launches from a quay or a small crew-transfer vessel and flies to site on its own. For fields more than 140 km offshore we deploy a Lantern dock and the vehicle lives there between dives.\"},{q:\"How deep can K6 go?\",a:\"The standard hull is rated to 6,000 m, which covers 98% of the world's seabed. Our inshore K3 is rated to 300 m and fits in the back of a van.\"},{q:\"What does a survey day cost?\",a:\"Pricing is per kilometre of line or per square kilometre of area, not per day. On 2025 programmes that came to 61% less than the equivalent survey-ship day rate, with the same deliverables.\"},{q:\"Can we buy vehicles instead of buying data?\",a:\"Yes. Operators with a year-round programme usually buy two K6 and a dock, and we train their pilots. Lead time is 16 weeks from order.\"},{q:\"Which formats do the reports come in?\",a:\"Bathymetry as GeoTIFF and XYZ, side-scan as GeoTIFF mosaics plus raw XTF, and inspection events as PDF and CSV with KP, position, size and photos.\"},{q:\"Is the data ours?\",a:\"All survey data belongs to you. We keep an encrypted copy for 90 days so we can compare the next pass, then delete it unless you ask us to keep it.\"}];/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 1440\n */export default function FAQList(props){const{kicker=\"QUESTIONS\",title=\"What operators ask before the first dive.\",lead=\"Still unsure? Our survey planners answer within one working day.\",items=DEFAULT_QA,ink=\"#EAF3F1\",muted=\"#8AA3A6\",signal=\"#FF5B1F\",sonar=\"#5FF2D6\"}=props;const[open,setOpen]=useState(0);const list=items&&items.length?items:DEFAULT_QA;return /*#__PURE__*/_jsx(\"div\",{style:{...props.style,width:\"100%\",containerType:\"inline-size\"},children:/*#__PURE__*/_jsxs(\"section\",{className:\"fq\",style:{width:\"100%\",[\"--ink\"]:ink,[\"--muted\"]:muted,[\"--sig\"]:signal,[\"--son\"]:sonar},children:[/*#__PURE__*/_jsx(\"style\",{children:CSS}),/*#__PURE__*/_jsxs(\"div\",{className:\"fq-head\",children:[/*#__PURE__*/_jsxs(\"p\",{className:\"fq-kick\",children:[/*#__PURE__*/_jsx(\"i\",{}),kicker]}),/*#__PURE__*/_jsx(\"h2\",{children:title}),/*#__PURE__*/_jsx(\"p\",{className:\"fq-lead\",children:lead})]}),/*#__PURE__*/_jsx(\"div\",{className:\"fq-list\",children:list.map((it,i)=>{const on=open===i;return /*#__PURE__*/_jsxs(\"div\",{className:\"fq-row\"+(on?\" on\":\"\"),children:[/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"fq-q\",\"aria-expanded\":on,onClick:()=>setOpen(on?-1:i),children:[/*#__PURE__*/_jsx(\"em\",{children:String(i+1).padStart(2,\"0\")}),/*#__PURE__*/_jsx(\"span\",{children:it.q}),/*#__PURE__*/_jsxs(\"b\",{\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"i\",{}),/*#__PURE__*/_jsx(\"i\",{})]})]}),/*#__PURE__*/_jsx(\"div\",{className:\"fq-a\",role:\"region\",children:/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsx(\"p\",{children:it.a})})}),/*#__PURE__*/_jsx(\"span\",{className:\"fq-line\"})]},i);})})]})});}const CSS=`\n${KIT_FONTS}\n.fq{ box-sizing:border-box; display:grid; grid-template-columns:1fr 1.5fr; gap:64px; padding:140px 32px; color:var(--ink); font-family:\"Schibsted Grotesk\",system-ui,sans-serif; container-type:inline-size; }\n.fq *{ box-sizing:border-box; }\n.fq-kick{ display:flex; align-items:center; gap:10px; margin:0 0 20px; font:500 11px/1 \"Martian Mono\",monospace; letter-spacing:.08em; color:var(--son); }\n.fq-kick i{ width:18px; height:1px; background:var(--son); }\n.fq h2{ margin:0 0 18px; font-weight:600; font-size:clamp(30px,3.2cqw,48px); line-height:1.02; letter-spacing:-.035em; text-wrap:balance; }\n.fq-lead{ margin:0; font-size:16px; line-height:1.5; color:var(--muted); font-weight:500; max-width:360px; }\n.fq-row{ position:relative; border-top:1px solid rgba(234,243,241,.12); }\n.fq-row:last-child{ border-bottom:1px solid rgba(234,243,241,.12); }\n.fq-q{ width:100%; display:grid; grid-template-columns:40px 1fr 28px; align-items:center; gap:12px; padding:24px 0; background:none; border:0; color:inherit; font:inherit; text-align:left; cursor:pointer; }\n.fq-q em{ font:400 11px/1 \"Martian Mono\",monospace; font-style:normal; color:var(--muted); transition:color .3s; }\n.fq-row.on .fq-q em{ color:var(--sig); }\n.fq-q span{ font-size:20px; font-weight:600; letter-spacing:-.015em; transition:transform .5s cubic-bezier(.16,1,.3,1); }\n.fq-q:hover span{ transform:translateX(6px); }\n.fq-q b{ position:relative; width:28px; height:28px; border-radius:50%; border:1px solid rgba(234,243,241,.2); transition:background .3s, border-color .3s; }\n.fq-q b i{ position:absolute; left:50%; top:50%; width:10px; height:1.5px; background:var(--ink); transform:translate(-50%,-50%); transition:transform .5s cubic-bezier(.16,1,.3,1); }\n.fq-q b i:last-child{ transform:translate(-50%,-50%) rotate(90deg); }\n.fq-row.on .fq-q b{ background:var(--son); border-color:var(--son); }\n.fq-row.on .fq-q b i{ background:#02090C; }\n.fq-row.on .fq-q b i:last-child{ transform:translate(-50%,-50%) rotate(0deg); }\n.fq-a{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .6s cubic-bezier(.16,1,.3,1); }\n.fq-row.on .fq-a{ grid-template-rows:1fr; }\n.fq-a > div{ overflow:hidden; }\n.fq-a p{ margin:0; padding:0 40px 26px 52px; font-size:16px; line-height:1.55; color:var(--muted); font-weight:500; max-width:720px; }\n.fq-line{ position:absolute; left:0; bottom:-1px; height:1px; width:100%; background:var(--son); transform:scaleX(0); transform-origin:left; transition:transform .9s cubic-bezier(.16,1,.3,1); }\n.fq-row.on .fq-line{ transform:scaleX(1); }\n@container (max-width: 900px){ .fq{ grid-template-columns:1fr; gap:32px; padding:96px 20px; } .fq-q span{ font-size:17px; } .fq-a p{ padding:0 0 22px 52px; } }\n@media (prefers-reduced-motion: reduce){ .fq-a, .fq-line, .fq-q span{ transition:none; } }\n`;addPropertyControls(FAQList,{kicker:{type:ControlType.String,title:\"Kicker\",defaultValue:\"QUESTIONS\"},title:{type:ControlType.String,title:\"Title\",defaultValue:\"What operators ask before the first dive.\"},lead:{type:ControlType.String,title:\"Lead\",displayTextArea:true,defaultValue:\"Still unsure? Our survey planners answer within one working day.\"},items:{type:ControlType.Array,title:\"Questions\",control:{type:ControlType.Object,controls:{q:{type:ControlType.String,title:\"Question\",defaultValue:\"Question?\"},a:{type:ControlType.String,title:\"Answer\",displayTextArea:true,defaultValue:\"Answer.\"}}},defaultValue:DEFAULT_QA},ink:{type:ControlType.Color,title:\"Ink\",defaultValue:\"#EAF3F1\"},muted:{type:ControlType.Color,title:\"Muted\",defaultValue:\"#8AA3A6\"},signal:{type:ControlType.Color,title:\"Signal\",defaultValue:\"#FF5B1F\"},sonar:{type:ControlType.Color,title:\"Sonar\",defaultValue:\"#5FF2D6\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FAQList\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1440\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FAQList.map"],"mappings":"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"}