@retinalabsllc/zairusjs 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -36,6 +36,7 @@ __export(index_exports, {
36
36
  Faq: () => Faq,
37
37
  FeatureScroll: () => FeatureScroll,
38
38
  Footer: () => Footer,
39
+ GifFeatureCard: () => GifFeatureCard,
39
40
  Header: () => Header,
40
41
  HeroSection: () => HeroSection,
41
42
  ManagedBoardBlock: () => ManagedBoardBlock,
@@ -50,8 +51,11 @@ __export(index_exports, {
50
51
  PageSpinner: () => PageSpinner,
51
52
  PlatformFeatures: () => PlatformFeatures,
52
53
  PortfolioHero: () => PortfolioHero,
54
+ ProductHero: () => ProductHero,
53
55
  TextInput: () => TextInput,
54
- ThreeDButton: () => ThreeDButton
56
+ ThreeDActionButton: () => ThreeDActionButton,
57
+ ThreeDButton: () => ThreeDButton,
58
+ ZairusAuth: () => ZairusAuth
55
59
  });
56
60
  module.exports = __toCommonJS(index_exports);
57
61
 
@@ -164,22 +168,349 @@ var ThreeDButton = ({
164
168
  );
165
169
  };
166
170
 
167
- // src/components/Header.tsx
171
+ // src/components/ThreeDActionButton.tsx
168
172
  var import_react4 = __toESM(require("react"));
173
+ var import_react5 = require("@hugeicons/react");
174
+ var import_core_free_icons2 = require("@hugeicons/core-free-icons");
175
+ var ThreeDActionButton = ({
176
+ type = "button",
177
+ onClick,
178
+ disabled = false,
179
+ isLoading = false,
180
+ children,
181
+ className = "",
182
+ ariaLabel
183
+ }) => {
184
+ const isInteractionDisabled = disabled || isLoading;
185
+ const baseShadow = `
186
+ inset 0 1.5px 0 0 rgba(255, 255, 255, 0.3),
187
+ inset 0 -2px 0 0 rgba(0, 0, 0, 0.5),
188
+ 0 3px 0 0 #0c0c0c,
189
+ 0 6px 10px rgba(0, 0, 0, 0.3)
190
+ `;
191
+ const hoverShadow = `
192
+ inset 0 1.5px 0 0 rgba(255, 255, 255, 0.35),
193
+ inset 0 -2px 0 0 rgba(0, 0, 0, 0.5),
194
+ 0 4px 0 0 #0c0c0c,
195
+ 0 8px 12px rgba(0, 0, 0, 0.35)
196
+ `;
197
+ const activeShadow = `
198
+ inset 0 1px 0 0 rgba(255, 255, 255, 0.1),
199
+ inset 0 -1px 0 0 rgba(0, 0, 0, 0.5),
200
+ 0 1px 0 0 #0c0c0c,
201
+ 0 2px 4px rgba(0, 0, 0, 0.2)
202
+ `;
203
+ const disabledShadow = `
204
+ inset 0 1px 0 0 rgba(255, 255, 255, 0.15),
205
+ inset 0 -1px 0 0 rgba(0, 0, 0, 0.3),
206
+ 0 1px 0 0 #1c1c1c
207
+ `;
208
+ return /* @__PURE__ */ import_react4.default.createElement(
209
+ "button",
210
+ {
211
+ type,
212
+ disabled: isInteractionDisabled,
213
+ onClick,
214
+ "aria-label": ariaLabel,
215
+ className: `
216
+ relative inline-flex items-center justify-center py-2.5 px-8 rounded-full
217
+ bg-neutral-950 text-white text-xs tracking-widest
218
+ transition-all duration-150 select-none group outline-none
219
+ ${isInteractionDisabled ? "opacity-50 cursor-not-allowed" : "active:translate-y-0.5"}
220
+ ${className}
221
+ `,
222
+ style: { boxShadow: isInteractionDisabled ? disabledShadow : baseShadow },
223
+ onMouseEnter: (e) => {
224
+ if (isInteractionDisabled) return;
225
+ e.currentTarget.style.boxShadow = hoverShadow;
226
+ e.currentTarget.style.transform = "translateY(-1px)";
227
+ },
228
+ onMouseLeave: (e) => {
229
+ if (isInteractionDisabled) return;
230
+ e.currentTarget.style.boxShadow = baseShadow;
231
+ e.currentTarget.style.transform = "translateY(0px)";
232
+ },
233
+ onMouseDown: (e) => {
234
+ if (isInteractionDisabled) return;
235
+ e.currentTarget.style.boxShadow = activeShadow;
236
+ e.currentTarget.style.transform = "translateY(2px)";
237
+ },
238
+ onMouseUp: (e) => {
239
+ if (isInteractionDisabled) return;
240
+ e.currentTarget.style.transform = "translateY(-1px)";
241
+ }
242
+ },
243
+ /* @__PURE__ */ import_react4.default.createElement("span", { className: "absolute inset-0 rounded-full bg-linear-to-b from-white/10 via-white/5 to-transparent pointer-events-none" }),
244
+ /* @__PURE__ */ import_react4.default.createElement("span", { className: "relative z-10 flex items-center justify-center gap-2 leading-none" }, isLoading ? /* @__PURE__ */ import_react4.default.createElement(import_react5.HugeiconsIcon, { icon: import_core_free_icons2.Loading03Icon, size: 16, className: "animate-spin text-white" }) : children)
245
+ );
246
+ };
247
+
248
+ // src/components/ZairusAuth.tsx
249
+ var import_react6 = __toESM(require("react"));
250
+ var import_navigation = require("next/navigation");
251
+ var import_react_hot_toast = __toESM(require("react-hot-toast"));
252
+ var import_react_google_recaptcha_v3 = require("react-google-recaptcha-v3");
253
+ var InputSpinner = () => /* @__PURE__ */ import_react6.default.createElement("svg", { className: "animate-spin h-4 w-4 text-neutral-400", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24" }, /* @__PURE__ */ import_react6.default.createElement("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), /* @__PURE__ */ import_react6.default.createElement("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" }));
254
+ function AuthFormInner({
255
+ companyName,
256
+ workspaceLabel = "Workspace",
257
+ termsUrl = "https://retinalabs.company/terms-of-service",
258
+ privacyUrl = "https://retinalabs.company/privacy-policy",
259
+ requireNames = true,
260
+ requireOrganization = true,
261
+ useRecaptcha = false,
262
+ defaultRedirectPath = "/app",
263
+ onAuthRequest,
264
+ onVerifyOtp
265
+ }) {
266
+ const searchParams = (0, import_navigation.useSearchParams)();
267
+ const redirectUrl = searchParams.get("redirect") || defaultRedirectPath;
268
+ const captchaContext = useRecaptcha ? (0, import_react_google_recaptcha_v3.useGoogleReCaptcha)() : null;
269
+ const [mode, setMode] = (0, import_react6.useState)("LOGIN");
270
+ const [step, setStep] = (0, import_react6.useState)("INPUT");
271
+ const getInitialSignupStep = () => {
272
+ if (requireNames) return "NAME";
273
+ if (requireOrganization) return "ORGANIZATION";
274
+ return "EMAIL_ID";
275
+ };
276
+ const [signupStep, setSignupStep] = (0, import_react6.useState)(getInitialSignupStep());
277
+ const [isSubmitting, setIsSubmitting] = (0, import_react6.useState)(false);
278
+ const [countdown, setCountdown] = (0, import_react6.useState)(0);
279
+ const [emailId, setEmailId] = (0, import_react6.useState)("");
280
+ const [firstName, setFirstName] = (0, import_react6.useState)("");
281
+ const [lastName, setLastName] = (0, import_react6.useState)("");
282
+ const [orgName, setOrgName] = (0, import_react6.useState)("");
283
+ const [agreedToTerms, setAgreedToTerms] = (0, import_react6.useState)(false);
284
+ const [otp, setOtp] = (0, import_react6.useState)(["", "", "", "", "", ""]);
285
+ const inputRefs = (0, import_react6.useRef)([]);
286
+ const cleanAlpha = (val) => val.replace(/[^a-zA-Z\s-]/g, "");
287
+ const cleanOrgName = (val) => val.replace(/[^a-zA-Z0-9\s]/g, "").substring(0, 50);
288
+ const cleanEmailId = (val) => val.toLowerCase().replace(/[^a-z0-9@._-]/g, "");
289
+ (0, import_react6.useEffect)(() => {
290
+ if (countdown > 0) {
291
+ const timer = setTimeout(() => setCountdown(countdown - 1), 1e3);
292
+ return () => clearTimeout(timer);
293
+ }
294
+ }, [countdown]);
295
+ const handleOtpChange = (index, value) => {
296
+ const cleanValue = value.replace(/[^0-9]/g, "");
297
+ if (!cleanValue && value !== "") return;
298
+ const newOtp = [...otp];
299
+ newOtp[index] = cleanValue.slice(-1);
300
+ setOtp(newOtp);
301
+ if (cleanValue && index < 5) {
302
+ inputRefs.current[index + 1]?.focus();
303
+ }
304
+ };
305
+ const handlePaste = (e) => {
306
+ e.preventDefault();
307
+ const pastedData = e.clipboardData.getData("text/plain");
308
+ const numbersOnly = pastedData.replace(/[^0-9]/g, "");
309
+ if (!numbersOnly) return;
310
+ const newOtp = [...otp];
311
+ const length = Math.min(numbersOnly.length, 6);
312
+ for (let i = 0; i < length; i++) {
313
+ newOtp[i] = numbersOnly[i];
314
+ }
315
+ setOtp(newOtp);
316
+ if (length < 6) {
317
+ inputRefs.current[length]?.focus();
318
+ } else {
319
+ inputRefs.current[5]?.focus();
320
+ verifyOtpCode(newOtp.join(""));
321
+ }
322
+ };
323
+ const handleAuthRequestSubmit = async (e) => {
324
+ if (e) e.preventDefault();
325
+ if (mode === "SIGNUP" && !agreedToTerms) {
326
+ import_react_hot_toast.default.error("You must agree to the Terms and Privacy Policy.");
327
+ return;
328
+ }
329
+ if (isSubmitting || countdown > 0) return;
330
+ setIsSubmitting(true);
331
+ try {
332
+ let recaptchaToken = void 0;
333
+ if (useRecaptcha && captchaContext?.executeRecaptcha) {
334
+ recaptchaToken = await captchaContext.executeRecaptcha("auth_request");
335
+ }
336
+ const res = await onAuthRequest({
337
+ email: emailId,
338
+ firstName: mode === "SIGNUP" && requireNames ? firstName : void 0,
339
+ lastName: mode === "SIGNUP" && requireNames ? lastName : void 0,
340
+ organizationName: mode === "SIGNUP" && requireOrganization ? orgName : void 0,
341
+ mode,
342
+ recaptchaToken
343
+ });
344
+ if (res.success) {
345
+ import_react_hot_toast.default.success("Verification code sent");
346
+ setStep("OTP");
347
+ setCountdown(60);
348
+ } else {
349
+ import_react_hot_toast.default.error(res.error || "Authentication failed.");
350
+ }
351
+ } catch {
352
+ import_react_hot_toast.default.error("Service unavailable. Try again later.");
353
+ } finally {
354
+ setIsSubmitting(false);
355
+ }
356
+ };
357
+ const verifyOtpCode = async (codeToVerify) => {
358
+ if (codeToVerify.length !== 6 || isSubmitting) return;
359
+ setIsSubmitting(true);
360
+ try {
361
+ const res = await onVerifyOtp({ email: emailId, code: codeToVerify });
362
+ if (res.success) {
363
+ window.location.href = redirectUrl;
364
+ } else {
365
+ import_react_hot_toast.default.error(res.error || "Invalid code.");
366
+ setOtp(["", "", "", "", "", ""]);
367
+ inputRefs.current[0]?.focus();
368
+ }
369
+ } catch {
370
+ import_react_hot_toast.default.error("Verification failed.");
371
+ } finally {
372
+ setIsSubmitting(false);
373
+ }
374
+ };
375
+ const handleNextSignupStep = () => {
376
+ if (signupStep === "NAME") {
377
+ if (requireOrganization) setSignupStep("ORGANIZATION");
378
+ else setSignupStep("EMAIL_ID");
379
+ } else if (signupStep === "ORGANIZATION") {
380
+ setSignupStep("EMAIL_ID");
381
+ }
382
+ };
383
+ const isContinueDisabled = () => {
384
+ if (isSubmitting) return true;
385
+ if (mode === "LOGIN") return emailId.length < 3;
386
+ if (mode === "SIGNUP") {
387
+ if (signupStep === "NAME") return firstName.trim() === "" || lastName.trim() === "";
388
+ if (signupStep === "ORGANIZATION") return orgName.trim().length < 3;
389
+ if (signupStep === "EMAIL_ID") return emailId.length < 3 || !agreedToTerms;
390
+ }
391
+ return false;
392
+ };
393
+ return /* @__PURE__ */ import_react6.default.createElement("div", { className: "w-full max-w-md mx-auto border border-neutral-100 flex flex-col relative z-10 animate-in fade-in duration-300 rounded-2xl bg-white shadow-xs" }, /* @__PURE__ */ import_react6.default.createElement("div", { className: "p-8 md:p-12" }, step === "INPUT" && /* @__PURE__ */ import_react6.default.createElement("div", { className: "animate-in fade-in duration-300" }, /* @__PURE__ */ import_react6.default.createElement("div", { className: "mb-12 text-center mt-2" }, /* @__PURE__ */ import_react6.default.createElement("h2", { className: "text-xl text-black mb-2 tracking-tight " }, mode === "LOGIN" ? `${companyName} ${workspaceLabel}` : "Create Account"), /* @__PURE__ */ import_react6.default.createElement("div", { className: "text-[13px] text-neutral-500" }, mode === "LOGIN" ? /* @__PURE__ */ import_react6.default.createElement(import_react6.default.Fragment, null, "Don't have an account? ", /* @__PURE__ */ import_react6.default.createElement("button", { type: "button", onClick: () => {
394
+ setMode("SIGNUP");
395
+ setSignupStep(getInitialSignupStep());
396
+ }, className: "text-black transition-colors ml-1" }, "Sign up")) : /* @__PURE__ */ import_react6.default.createElement(import_react6.default.Fragment, null, "Already have an account? ", /* @__PURE__ */ import_react6.default.createElement("button", { type: "button", onClick: () => setMode("LOGIN"), className: "text-black transition-colors ml-1" }, "Log in")))), /* @__PURE__ */ import_react6.default.createElement("form", { className: "space-y-6", autoComplete: "off", onSubmit: (e) => {
397
+ e.preventDefault();
398
+ if (mode === "SIGNUP" && signupStep === "NAME") handleNextSignupStep();
399
+ else if (mode === "SIGNUP" && signupStep === "ORGANIZATION") handleNextSignupStep();
400
+ else handleAuthRequestSubmit();
401
+ } }, mode === "SIGNUP" && signupStep === "NAME" && requireNames && /* @__PURE__ */ import_react6.default.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ import_react6.default.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ import_react6.default.createElement("label", { className: "text-[10px] text-neutral-400 tracking-[0.2em] block uppercase" }, "First Name"), /* @__PURE__ */ import_react6.default.createElement(
402
+ "input",
403
+ {
404
+ type: "text",
405
+ value: firstName,
406
+ onChange: (e) => setFirstName(cleanAlpha(e.target.value)),
407
+ required: true,
408
+ autoFocus: true,
409
+ className: "w-full px-2 py-3 text-sm bg-transparent border-b border-neutral-200 text-black outline-none focus:border-black transition-all duration-300",
410
+ placeholder: "First name"
411
+ }
412
+ )), /* @__PURE__ */ import_react6.default.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ import_react6.default.createElement("label", { className: "text-[10px] text-neutral-400 tracking-[0.2em] block uppercase" }, "Last Name"), /* @__PURE__ */ import_react6.default.createElement(
413
+ "input",
414
+ {
415
+ type: "text",
416
+ value: lastName,
417
+ onChange: (e) => setLastName(cleanAlpha(e.target.value)),
418
+ required: true,
419
+ className: "w-full px-2 py-3 bg-transparent text-sm border-b border-neutral-200 text-black outline-none focus:border-black transition-all duration-300",
420
+ placeholder: "Last name"
421
+ }
422
+ ))), mode === "SIGNUP" && signupStep === "ORGANIZATION" && requireOrganization && /* @__PURE__ */ import_react6.default.createElement("div", { className: "flex flex-col gap-6" }, /* @__PURE__ */ import_react6.default.createElement("div", { className: "space-y-1.5 relative" }, /* @__PURE__ */ import_react6.default.createElement("label", { className: "text-[10px] text-neutral-400 tracking-[0.2em] block uppercase" }, "Organization Name"), /* @__PURE__ */ import_react6.default.createElement(
423
+ "input",
424
+ {
425
+ type: "text",
426
+ value: orgName,
427
+ onChange: (e) => setOrgName(cleanOrgName(e.target.value)),
428
+ required: true,
429
+ autoFocus: true,
430
+ className: "w-full px-2 py-3 text-sm bg-transparent border-b border-neutral-200 text-black outline-none focus:border-black transition-all duration-300",
431
+ placeholder: "Acme Corporation"
432
+ }
433
+ ))), (mode === "LOGIN" || mode === "SIGNUP" && signupStep === "EMAIL_ID") && /* @__PURE__ */ import_react6.default.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ import_react6.default.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ import_react6.default.createElement("label", { className: "text-[10px] text-neutral-400 tracking-[0.2em] block uppercase" }, "Email ID"), /* @__PURE__ */ import_react6.default.createElement(
434
+ "input",
435
+ {
436
+ type: "email",
437
+ value: emailId,
438
+ onChange: (e) => setEmailId(cleanEmailId(e.target.value)),
439
+ required: true,
440
+ autoFocus: true,
441
+ className: "w-full px-2 py-3 bg-transparent text-sm border-b border-neutral-200 text-black outline-none focus:border-black transition-all duration-300",
442
+ placeholder: "name@company.com"
443
+ }
444
+ )), mode === "SIGNUP" && /* @__PURE__ */ import_react6.default.createElement("div", { className: "flex items-start gap-3 mt-4" }, /* @__PURE__ */ import_react6.default.createElement(
445
+ "input",
446
+ {
447
+ type: "checkbox",
448
+ id: "zairus-terms",
449
+ checked: agreedToTerms,
450
+ onChange: (e) => setAgreedToTerms(e.target.checked),
451
+ className: "mt-0.5 w-4 h-4 bg-white border-neutral-300 rounded text-black focus:ring-black cursor-pointer",
452
+ required: true
453
+ }
454
+ ), /* @__PURE__ */ import_react6.default.createElement("label", { htmlFor: "zairus-terms", className: "text-[11px] text-neutral-500 cursor-pointer leading-snug" }, "I agree to ", companyName, "'s ", /* @__PURE__ */ import_react6.default.createElement("a", { href: termsUrl, target: "_blank", rel: "noreferrer", className: "text-black underline font-medium" }, "Terms of Service"), " and ", /* @__PURE__ */ import_react6.default.createElement("a", { href: privacyUrl, target: "_blank", rel: "noreferrer", className: "text-black underline font-medium" }, "Privacy Policy"), "."))), /* @__PURE__ */ import_react6.default.createElement(
455
+ ThreeDActionButton,
456
+ {
457
+ type: "submit",
458
+ disabled: isContinueDisabled(),
459
+ isLoading: isSubmitting,
460
+ className: "w-full mt-10"
461
+ },
462
+ "Continue"
463
+ ))), step === "OTP" && /* @__PURE__ */ import_react6.default.createElement("div", { className: "animate-in fade-in duration-300" }, /* @__PURE__ */ import_react6.default.createElement("div", { className: "text-center mb-10 mt-2" }, /* @__PURE__ */ import_react6.default.createElement("h2", { className: "text-xl text-black mb-2 tracking-tight " }, "Security Check"), /* @__PURE__ */ import_react6.default.createElement("p", { className: "text-[13px] text-neutral-500" }, "Enter the code sent to ", /* @__PURE__ */ import_react6.default.createElement("br", null), /* @__PURE__ */ import_react6.default.createElement("span", { className: "text-black font-medium" }, emailId))), /* @__PURE__ */ import_react6.default.createElement("form", { className: "space-y-10", autoComplete: "off", onSubmit: (e) => {
464
+ e.preventDefault();
465
+ verifyOtpCode(otp.join(""));
466
+ } }, /* @__PURE__ */ import_react6.default.createElement("div", { className: "flex justify-between gap-2", onPaste: handlePaste }, otp.map((digit, index) => /* @__PURE__ */ import_react6.default.createElement(
467
+ "input",
468
+ {
469
+ key: index,
470
+ ref: (el) => {
471
+ inputRefs.current[index] = el;
472
+ },
473
+ type: "text",
474
+ inputMode: "numeric",
475
+ maxLength: 1,
476
+ value: digit,
477
+ onChange: (e) => handleOtpChange(index, e.target.value),
478
+ className: "w-10 h-10 text-center text-xl bg-transparent border-b-2 border-neutral-200 text-black outline-none focus:border-black transition-all duration-300"
479
+ }
480
+ ))), /* @__PURE__ */ import_react6.default.createElement(
481
+ ThreeDActionButton,
482
+ {
483
+ type: "submit",
484
+ disabled: otp.join("").length < 6,
485
+ isLoading: isSubmitting,
486
+ className: "w-full"
487
+ },
488
+ "Verify Code"
489
+ )))));
490
+ }
491
+ var ZairusAuth = (props) => {
492
+ if (props.useRecaptcha && props.recaptchaSiteKey) {
493
+ return /* @__PURE__ */ import_react6.default.createElement(import_react_google_recaptcha_v3.GoogleReCaptchaProvider, { reCaptchaKey: props.recaptchaSiteKey }, /* @__PURE__ */ import_react6.default.createElement(import_react6.Suspense, { fallback: /* @__PURE__ */ import_react6.default.createElement("div", { className: "h-64 flex items-center justify-center" }, /* @__PURE__ */ import_react6.default.createElement(InputSpinner, null)) }, /* @__PURE__ */ import_react6.default.createElement(AuthFormInner, { ...props })));
494
+ }
495
+ return /* @__PURE__ */ import_react6.default.createElement(import_react6.Suspense, { fallback: /* @__PURE__ */ import_react6.default.createElement("div", { className: "h-64 flex items-center justify-center" }, /* @__PURE__ */ import_react6.default.createElement(InputSpinner, null)) }, /* @__PURE__ */ import_react6.default.createElement(AuthFormInner, { ...props }));
496
+ };
497
+
498
+ // src/components/Header.tsx
499
+ var import_react7 = __toESM(require("react"));
169
500
  var import_link2 = __toESM(require("next/link"));
170
501
  var import_image = __toESM(require("next/image"));
171
- var import_navigation = require("next/navigation");
502
+ var import_navigation2 = require("next/navigation");
172
503
  var NavLink = ({
173
504
  href,
174
505
  children,
175
506
  className = "",
176
507
  light = true
177
508
  }) => {
178
- const pathname = (0, import_navigation.usePathname)();
509
+ const pathname = (0, import_navigation2.usePathname)();
179
510
  const isActive = pathname === href;
180
511
  const activeClass = light ? "text-neutral-950 font-medium" : "text-white font-medium";
181
512
  const inactiveClass = light ? "text-neutral-600 hover:text-neutral-950" : "text-neutral-400 hover:text-white";
182
- return /* @__PURE__ */ import_react4.default.createElement(
513
+ return /* @__PURE__ */ import_react7.default.createElement(
183
514
  import_link2.default,
184
515
  {
185
516
  href,
@@ -206,7 +537,7 @@ var Header = ({
206
537
  const titleColor = light ? "text-black" : "text-white";
207
538
  const subtitleColor = light ? "text-neutral-500" : "text-neutral-400";
208
539
  const hasBrandSection = showLogo || !hideHeaderText;
209
- return /* @__PURE__ */ import_react4.default.createElement("div", { className: "absolute inset-x-0 top-0 w-full z-50 pointer-events-none px-4 pt-4 sm:pt-6" }, /* @__PURE__ */ import_react4.default.createElement("div", { className: "max-w-5xl mx-auto w-full pointer-events-auto flex justify-center" }, /* @__PURE__ */ import_react4.default.createElement("header", { className: `${headerLayoutWidth} ${headerBgStyle} backdrop-blur-md rounded-full py-2 px-6 flex items-center border transition-all duration-300` }, hasBrandSection && /* @__PURE__ */ import_react4.default.createElement("div", { className: "flex items-center shrink-0" }, /* @__PURE__ */ import_react4.default.createElement(import_link2.default, { href: "/", className: "flex items-center gap-3 transition-opacity hover:opacity-70" }, showLogo && /* @__PURE__ */ import_react4.default.createElement(
540
+ return /* @__PURE__ */ import_react7.default.createElement("div", { className: "absolute inset-x-0 top-0 w-full z-50 pointer-events-none px-4 pt-4 sm:pt-6" }, /* @__PURE__ */ import_react7.default.createElement("div", { className: "max-w-5xl mx-auto w-full pointer-events-auto flex justify-center" }, /* @__PURE__ */ import_react7.default.createElement("header", { className: `${headerLayoutWidth} ${headerBgStyle} backdrop-blur-md rounded-full py-2 px-6 flex items-center border transition-all duration-300` }, hasBrandSection && /* @__PURE__ */ import_react7.default.createElement("div", { className: "flex items-center shrink-0" }, /* @__PURE__ */ import_react7.default.createElement(import_link2.default, { href: "/", className: "flex items-center gap-3 transition-opacity hover:opacity-70" }, showLogo && /* @__PURE__ */ import_react7.default.createElement(
210
541
  import_image.default,
211
542
  {
212
543
  src: logoSrc,
@@ -216,7 +547,7 @@ var Header = ({
216
547
  className: `object-contain w-5 h-auto ${invert ? "invert" : ""}`,
217
548
  priority: true
218
549
  }
219
- ), !hideHeaderText && /* @__PURE__ */ import_react4.default.createElement("div", { className: "flex flex-col justify-center" }, /* @__PURE__ */ import_react4.default.createElement("span", { className: `text-[12px] leading-none tracking-wide mb-1 transition-colors ${titleColor}` }, companyName), subtitle && /* @__PURE__ */ import_react4.default.createElement("span", { className: `text-[9px] tracking-widest leading-none transition-colors ${subtitleColor}` }, subtitle)))), /* @__PURE__ */ import_react4.default.createElement("nav", { className: "flex items-center gap-1 md:gap-2 shrink-0" }, links.map((link, index) => /* @__PURE__ */ import_react4.default.createElement(
550
+ ), !hideHeaderText && /* @__PURE__ */ import_react7.default.createElement("div", { className: "flex flex-col justify-center" }, /* @__PURE__ */ import_react7.default.createElement("span", { className: `text-[12px] leading-none tracking-wide mb-1 transition-colors ${titleColor}` }, companyName), subtitle && /* @__PURE__ */ import_react7.default.createElement("span", { className: `text-[9px] tracking-widest leading-none transition-colors ${subtitleColor}` }, subtitle)))), /* @__PURE__ */ import_react7.default.createElement("nav", { className: "flex items-center gap-1 md:gap-2 shrink-0" }, links.map((link, index) => /* @__PURE__ */ import_react7.default.createElement(
220
551
  NavLink,
221
552
  {
222
553
  key: index,
@@ -229,9 +560,9 @@ var Header = ({
229
560
  };
230
561
 
231
562
  // src/components/Footer.tsx
232
- var import_react5 = __toESM(require("react"));
563
+ var import_react8 = __toESM(require("react"));
233
564
  var import_link3 = __toESM(require("next/link"));
234
- var import_react6 = require("@hugeicons/react");
565
+ var import_react9 = require("@hugeicons/react");
235
566
  var Footer = ({
236
567
  description,
237
568
  columns,
@@ -239,20 +570,20 @@ var Footer = ({
239
570
  copyrightText,
240
571
  topSection
241
572
  }) => {
242
- const [openCol, setOpenCol] = (0, import_react5.useState)(null);
573
+ const [openCol, setOpenCol] = (0, import_react8.useState)(null);
243
574
  const toggleColumn = (idx) => {
244
575
  setOpenCol(openCol === idx ? null : idx);
245
576
  };
246
- return /* @__PURE__ */ import_react5.default.createElement("div", { className: "" }, topSection && topSection, /* @__PURE__ */ import_react5.default.createElement("footer", { className: "relative px-6 overflow-hidden flex flex-col" }, /* @__PURE__ */ import_react5.default.createElement("div", { className: "relative w-full max-w-7xl mx-auto z-20 flex flex-col" }, /* @__PURE__ */ import_react5.default.createElement("div", { className: "relative py-12 md:py-16" }, /* @__PURE__ */ import_react5.default.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start gap-12 lg:gap-16 mb-12 text-left" }, /* @__PURE__ */ import_react5.default.createElement("div", { className: "w-full lg:max-w-sm flex flex-col items-start justify-between shrink-0" }, /* @__PURE__ */ import_react5.default.createElement("div", null, /* @__PURE__ */ import_react5.default.createElement("p", { className: "text-[12px] font-serif text-neutral-600 leading-relaxed pr-4" }, description))), /* @__PURE__ */ import_react5.default.createElement("div", { className: "w-full lg:flex-1 lg:max-w-2xl" }, /* @__PURE__ */ import_react5.default.createElement("div", { className: "hidden md:grid grid-cols-2 gap-x-16 lg:gap-x-24 gap-y-12" }, columns.map((col, idx) => /* @__PURE__ */ import_react5.default.createElement("div", { key: idx, className: "flex flex-col" }, /* @__PURE__ */ import_react5.default.createElement("h4", { className: "text-[11px] tracking-[0.2em] text-black mb-6 uppercase" }, col.title), /* @__PURE__ */ import_react5.default.createElement("ul", { className: "space-y-4 text-[13px] text-neutral-500" }, col.links.map((link, lIdx) => /* @__PURE__ */ import_react5.default.createElement("li", { key: lIdx }, link.isExternal ? /* @__PURE__ */ import_react5.default.createElement("a", { href: link.href, target: "_blank", rel: "noopener noreferrer", className: "hover:text-black transition-colors block truncate" }, link.label) : /* @__PURE__ */ import_react5.default.createElement(import_link3.default, { href: link.href, className: "hover:text-black transition-colors block truncate" }, link.label))))))), /* @__PURE__ */ import_react5.default.createElement("div", { className: "flex flex-col md:hidden w-full border-t border-neutral-200 mt-4" }, columns.map((col, idx) => {
577
+ return /* @__PURE__ */ import_react8.default.createElement("div", { className: "" }, topSection && topSection, /* @__PURE__ */ import_react8.default.createElement("footer", { className: "relative px-6 overflow-hidden flex flex-col" }, /* @__PURE__ */ import_react8.default.createElement("div", { className: "relative w-full max-w-7xl mx-auto z-20 flex flex-col" }, /* @__PURE__ */ import_react8.default.createElement("div", { className: "relative py-12 md:py-16" }, /* @__PURE__ */ import_react8.default.createElement("div", { className: "flex flex-col lg:flex-row justify-between items-start gap-12 lg:gap-16 mb-12 text-left" }, /* @__PURE__ */ import_react8.default.createElement("div", { className: "w-full lg:max-w-sm flex flex-col items-start justify-between shrink-0" }, /* @__PURE__ */ import_react8.default.createElement("div", null, /* @__PURE__ */ import_react8.default.createElement("p", { className: "text-[12px] font-serif text-neutral-600 leading-relaxed pr-4" }, description))), /* @__PURE__ */ import_react8.default.createElement("div", { className: "w-full lg:flex-1 lg:max-w-2xl" }, /* @__PURE__ */ import_react8.default.createElement("div", { className: "hidden md:grid grid-cols-2 gap-x-16 lg:gap-x-24 gap-y-12" }, columns.map((col, idx) => /* @__PURE__ */ import_react8.default.createElement("div", { key: idx, className: "flex flex-col" }, /* @__PURE__ */ import_react8.default.createElement("h4", { className: "text-[11px] tracking-[0.2em] text-black mb-6 uppercase" }, col.title), /* @__PURE__ */ import_react8.default.createElement("ul", { className: "space-y-4 text-[13px] text-neutral-500" }, col.links.map((link, lIdx) => /* @__PURE__ */ import_react8.default.createElement("li", { key: lIdx }, link.isExternal ? /* @__PURE__ */ import_react8.default.createElement("a", { href: link.href, target: "_blank", rel: "noopener noreferrer", className: "hover:text-black transition-colors block truncate" }, link.label) : /* @__PURE__ */ import_react8.default.createElement(import_link3.default, { href: link.href, className: "hover:text-black transition-colors block truncate" }, link.label))))))), /* @__PURE__ */ import_react8.default.createElement("div", { className: "flex flex-col md:hidden w-full border-t border-neutral-200 mt-4" }, columns.map((col, idx) => {
247
578
  const isOpen = openCol === idx;
248
- return /* @__PURE__ */ import_react5.default.createElement("div", { key: idx, className: "border-b border-neutral-200" }, /* @__PURE__ */ import_react5.default.createElement(
579
+ return /* @__PURE__ */ import_react8.default.createElement("div", { key: idx, className: "border-b border-neutral-200" }, /* @__PURE__ */ import_react8.default.createElement(
249
580
  "button",
250
581
  {
251
582
  onClick: () => toggleColumn(idx),
252
583
  className: "w-full flex items-center justify-between py-5 text-left outline-none"
253
584
  },
254
- /* @__PURE__ */ import_react5.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-black uppercase" }, col.title),
255
- /* @__PURE__ */ import_react5.default.createElement(
585
+ /* @__PURE__ */ import_react8.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-black uppercase" }, col.title),
586
+ /* @__PURE__ */ import_react8.default.createElement(
256
587
  "svg",
257
588
  {
258
589
  className: `w-4 h-4 text-neutral-400 transition-transform duration-300 ${isOpen ? "rotate-180" : ""}`,
@@ -260,10 +591,10 @@ var Footer = ({
260
591
  viewBox: "0 0 24 24",
261
592
  stroke: "currentColor"
262
593
  },
263
- /* @__PURE__ */ import_react5.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M19 9l-7 7-7-7" })
594
+ /* @__PURE__ */ import_react8.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M19 9l-7 7-7-7" })
264
595
  )
265
- ), /* @__PURE__ */ import_react5.default.createElement("div", { className: `grid transition-all duration-300 ease-in-out ${isOpen ? "grid-rows-[1fr] pb-6 opacity-100" : "grid-rows-[0fr] opacity-0"}` }, /* @__PURE__ */ import_react5.default.createElement("div", { className: "overflow-hidden" }, /* @__PURE__ */ import_react5.default.createElement("ul", { className: "space-y-4 text-[13px] text-neutral-500 pt-2" }, col.links.map((link, lIdx) => /* @__PURE__ */ import_react5.default.createElement("li", { key: lIdx }, link.isExternal ? /* @__PURE__ */ import_react5.default.createElement("a", { href: link.href, target: "_blank", rel: "noopener noreferrer", className: "hover:text-black transition-colors" }, link.label) : /* @__PURE__ */ import_react5.default.createElement(import_link3.default, { href: link.href, className: "hover:text-black transition-colors" }, link.label)))))));
266
- })))), /* @__PURE__ */ import_react5.default.createElement("div", { className: "pt-8 mt-4 border-t border-neutral-200 flex flex-col-reverse md:flex-row justify-between items-start md:items-center gap-6 relative z-20" }, /* @__PURE__ */ import_react5.default.createElement("p", { className: "text-[11px] text-neutral-400 tracking-widest text-left" }, copyrightText), socialLinks && socialLinks.length > 0 && /* @__PURE__ */ import_react5.default.createElement("div", { className: "flex items-center gap-6" }, socialLinks.map((social, idx) => /* @__PURE__ */ import_react5.default.createElement(
596
+ ), /* @__PURE__ */ import_react8.default.createElement("div", { className: `grid transition-all duration-300 ease-in-out ${isOpen ? "grid-rows-[1fr] pb-6 opacity-100" : "grid-rows-[0fr] opacity-0"}` }, /* @__PURE__ */ import_react8.default.createElement("div", { className: "overflow-hidden" }, /* @__PURE__ */ import_react8.default.createElement("ul", { className: "space-y-4 text-[13px] text-neutral-500 pt-2" }, col.links.map((link, lIdx) => /* @__PURE__ */ import_react8.default.createElement("li", { key: lIdx }, link.isExternal ? /* @__PURE__ */ import_react8.default.createElement("a", { href: link.href, target: "_blank", rel: "noopener noreferrer", className: "hover:text-black transition-colors" }, link.label) : /* @__PURE__ */ import_react8.default.createElement(import_link3.default, { href: link.href, className: "hover:text-black transition-colors" }, link.label)))))));
597
+ })))), /* @__PURE__ */ import_react8.default.createElement("div", { className: "pt-8 mt-4 border-t border-neutral-200 flex flex-col-reverse md:flex-row justify-between items-start md:items-center gap-6 relative z-20" }, /* @__PURE__ */ import_react8.default.createElement("p", { className: "text-[11px] text-neutral-400 tracking-widest text-left" }, copyrightText), socialLinks && socialLinks.length > 0 && /* @__PURE__ */ import_react8.default.createElement("div", { className: "flex items-center gap-6" }, socialLinks.map((social, idx) => /* @__PURE__ */ import_react8.default.createElement(
267
598
  "a",
268
599
  {
269
600
  key: idx,
@@ -273,12 +604,12 @@ var Footer = ({
273
604
  className: "text-neutral-400 hover:text-black transition-colors",
274
605
  "aria-label": social.name
275
606
  },
276
- /* @__PURE__ */ import_react5.default.createElement(import_react6.HugeiconsIcon, { icon: social.icon, size: 20 })
607
+ /* @__PURE__ */ import_react8.default.createElement(import_react9.HugeiconsIcon, { icon: social.icon, size: 20 })
277
608
  ))))))));
278
609
  };
279
610
 
280
611
  // src/components/HeroSection.tsx
281
- var import_react7 = __toESM(require("react"));
612
+ var import_react10 = __toESM(require("react"));
282
613
  var import_link4 = __toESM(require("next/link"));
283
614
  var import_image2 = __toESM(require("next/image"));
284
615
  var HeroSection = ({
@@ -294,7 +625,7 @@ var HeroSection = ({
294
625
  showImage = false,
295
626
  imageSrc = "/assets/ai.avif"
296
627
  }) => {
297
- return /* @__PURE__ */ import_react7.default.createElement("section", { className: "relative pt-32 sm:pt-40 pb-16 flex flex-col items-center overflow-hidden w-full" }, /* @__PURE__ */ import_react7.default.createElement(
628
+ return /* @__PURE__ */ import_react10.default.createElement("section", { className: "relative pt-32 sm:pt-40 pb-16 flex flex-col items-center overflow-hidden w-full" }, /* @__PURE__ */ import_react10.default.createElement(
298
629
  "div",
299
630
  {
300
631
  className: "absolute inset-0 w-full h-full pointer-events-none z-0",
@@ -302,7 +633,7 @@ var HeroSection = ({
302
633
  background: `radial-gradient(120% 100% at 50% 0%, #043324 0%, #21a473 45%, #e0f6ce 80%, #f5f5f5 100%)`
303
634
  }
304
635
  }
305
- ), /* @__PURE__ */ import_react7.default.createElement(
636
+ ), /* @__PURE__ */ import_react10.default.createElement(
306
637
  "div",
307
638
  {
308
639
  className: "absolute inset-0 w-full h-full pointer-events-none z-0 opacity-[0.25] mix-blend-overlay",
@@ -310,14 +641,14 @@ var HeroSection = ({
310
641
  backgroundImage: `url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")`
311
642
  }
312
643
  }
313
- ), /* @__PURE__ */ import_react7.default.createElement("div", { className: "relative max-w-5xl mx-auto px-4 sm:px-6 w-full flex flex-col items-center text-center z-10" }, badgeText && /* @__PURE__ */ import_react7.default.createElement("div", { className: "inline-flex items-center gap-1.5 mb-6 px-4 py-1.5 rounded-full bg-white/10 backdrop-blur-md shadow-xs" }, /* @__PURE__ */ import_react7.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-white uppercase" }, badgeText)), /* @__PURE__ */ import_react7.default.createElement("h1", { className: "text-[40px] md:text-5xl lg:text-7xl text-white tracking-tight leading-[1.05] max-w-4xl mb-4" }, titlePrefix), /* @__PURE__ */ import_react7.default.createElement("div", { className: "flex justify-center mt-2 mb-10 md:mb-14" }, /* @__PURE__ */ import_react7.default.createElement("span", { className: "relative inline-block mx-1.5 px-4 py-2 md:py-3 bg-[#21a473]/25 border border-[#3ae9a8] rounded-sm text-white select-none font-serif text-4xl lg:text-6xl tracking-tight" }, /* @__PURE__ */ import_react7.default.createElement("span", { className: "absolute top-[-3.5px] left-[-3.5px] w-2 h-2 bg-white border border-[#21a473] rounded-[1px] z-10" }), /* @__PURE__ */ import_react7.default.createElement("span", { className: "absolute top-[-3.5px] right-[-3.5px] w-2 h-2 bg-white border border-[#21a473] rounded-[1px] z-10" }), /* @__PURE__ */ import_react7.default.createElement("span", { className: "absolute bottom-[-3.5px] left-[-3.5px] w-2 h-2 bg-white border border-[#21a473] rounded-[1px] z-10" }), /* @__PURE__ */ import_react7.default.createElement("span", { className: "absolute bottom-[-3.5px] right-[-3.5px] w-2 h-2 bg-white border border-[#21a473] rounded-[1px] z-10" }), highlightText, /* @__PURE__ */ import_react7.default.createElement("span", { className: "absolute -bottom-5 -right-5 flex items-center z-20 pointer-events-none select-none filter drop-shadow-[0_2px_4px_rgba(0,0,0,0.25)]" }, /* @__PURE__ */ import_react7.default.createElement("svg", { width: "18", height: "22", viewBox: "0 0 16 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: "transform -rotate-12" }, /* @__PURE__ */ import_react7.default.createElement("path", { d: "M1 1V17.8L5.8 13.1H12.8L1 1Z", fill: "#21a473", stroke: "white", strokeWidth: "1.8", strokeLinejoin: "round" })), /* @__PURE__ */ import_react7.default.createElement("span", { className: "ml-1 bg-[#21a473] text-[10px] text-white px-2 py-0.5 rounded-full border border-white tracking-wide" }, cursorLabel)))), subtitle && /* @__PURE__ */ import_react7.default.createElement("p", { className: "text-[13px] md:text-[15px] text-[#bbf7df]/90 max-w-xl mx-auto mb-10 font-light leading-relaxed" }, subtitle), /* @__PURE__ */ import_react7.default.createElement("div", { className: "flex flex-col sm:flex-row gap-4 justify-center items-center w-full px-2 sm:px-0 mx-auto mb-10" }, ctaText && ctaHref && /* @__PURE__ */ import_react7.default.createElement("div", { className: "w-full sm:w-60 flex justify-center *:w-full" }, /* @__PURE__ */ import_react7.default.createElement(ThreeDButton, { href: ctaHref }, ctaText)), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ import_react7.default.createElement(
644
+ ), /* @__PURE__ */ import_react10.default.createElement("div", { className: "relative max-w-5xl mx-auto px-4 sm:px-6 w-full flex flex-col items-center text-center z-10" }, badgeText && /* @__PURE__ */ import_react10.default.createElement("div", { className: "inline-flex items-center gap-1.5 mb-6 px-4 py-1.5 rounded-full bg-white/10 backdrop-blur-md shadow-xs" }, /* @__PURE__ */ import_react10.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-white uppercase" }, badgeText)), /* @__PURE__ */ import_react10.default.createElement("h1", { className: "text-[40px] md:text-5xl lg:text-7xl text-white tracking-tight leading-[1.05] max-w-4xl mb-4" }, titlePrefix), /* @__PURE__ */ import_react10.default.createElement("div", { className: "flex justify-center mt-2 mb-10 md:mb-14" }, /* @__PURE__ */ import_react10.default.createElement("span", { className: "relative inline-block mx-1.5 px-4 py-2 md:py-3 bg-[#21a473]/25 border border-[#3ae9a8] rounded-sm text-white select-none font-serif text-4xl lg:text-6xl tracking-tight" }, /* @__PURE__ */ import_react10.default.createElement("span", { className: "absolute top-[-3.5px] left-[-3.5px] w-2 h-2 bg-white border border-[#21a473] rounded-[1px] z-10" }), /* @__PURE__ */ import_react10.default.createElement("span", { className: "absolute top-[-3.5px] right-[-3.5px] w-2 h-2 bg-white border border-[#21a473] rounded-[1px] z-10" }), /* @__PURE__ */ import_react10.default.createElement("span", { className: "absolute bottom-[-3.5px] left-[-3.5px] w-2 h-2 bg-white border border-[#21a473] rounded-[1px] z-10" }), /* @__PURE__ */ import_react10.default.createElement("span", { className: "absolute bottom-[-3.5px] right-[-3.5px] w-2 h-2 bg-white border border-[#21a473] rounded-[1px] z-10" }), highlightText, /* @__PURE__ */ import_react10.default.createElement("span", { className: "absolute -bottom-5 -right-5 flex items-center z-20 pointer-events-none select-none filter drop-shadow-[0_2px_4px_rgba(0,0,0,0.25)]" }, /* @__PURE__ */ import_react10.default.createElement("svg", { width: "18", height: "22", viewBox: "0 0 16 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: "transform -rotate-12" }, /* @__PURE__ */ import_react10.default.createElement("path", { d: "M1 1V17.8L5.8 13.1H12.8L1 1Z", fill: "#21a473", stroke: "white", strokeWidth: "1.8", strokeLinejoin: "round" })), /* @__PURE__ */ import_react10.default.createElement("span", { className: "ml-1 bg-[#21a473] text-[10px] text-white px-2 py-0.5 rounded-full border border-white tracking-wide" }, cursorLabel)))), subtitle && /* @__PURE__ */ import_react10.default.createElement("p", { className: "text-[13px] md:text-[15px] text-[#bbf7df]/90 max-w-xl mx-auto mb-10 font-light leading-relaxed" }, subtitle), /* @__PURE__ */ import_react10.default.createElement("div", { className: "flex flex-col sm:flex-row gap-4 justify-center items-center w-full px-2 sm:px-0 mx-auto mb-10" }, ctaText && ctaHref && /* @__PURE__ */ import_react10.default.createElement("div", { className: "w-full sm:w-60 flex justify-center *:w-full" }, /* @__PURE__ */ import_react10.default.createElement(ThreeDButton, { href: ctaHref }, ctaText)), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ import_react10.default.createElement(
314
645
  import_link4.default,
315
646
  {
316
647
  href: secondaryCtaHref,
317
648
  className: "w-full sm:w-60 inline-flex items-center justify-center text-[12px] tracking-widest rounded-full px-8 py-2.5 bg-white text-black transition-colors hover:bg-neutral-200 outline-none"
318
649
  },
319
650
  secondaryCtaText
320
- )), showImage && /* @__PURE__ */ import_react7.default.createElement("div", { className: "w-full max-w-4xl mx-auto px-2 sm:px-6" }, /* @__PURE__ */ import_react7.default.createElement("div", { className: "relative w-full flex flex-col items-center" }, /* @__PURE__ */ import_react7.default.createElement("div", { className: "relative w-full rounded-t-xl overflow-hidden border-[5px] border-[#1c1c1e] bg-[#1c1c1e] shadow-2xl aspect-video" }, /* @__PURE__ */ import_react7.default.createElement("div", { className: "absolute top-1.5 left-1/2 -translate-x-1/2 w-2.5 h-2.5 bg-[#0a0a0b] rounded-full flex items-center justify-center z-30" }, /* @__PURE__ */ import_react7.default.createElement("div", { className: "w-1 h-1 bg-[#1a2d42] rounded-full" })), /* @__PURE__ */ import_react7.default.createElement("div", { className: "relative w-full h-full rounded-sm overflow-hidden" }, /* @__PURE__ */ import_react7.default.createElement(
651
+ )), showImage && /* @__PURE__ */ import_react10.default.createElement("div", { className: "w-full max-w-4xl mx-auto px-2 sm:px-6" }, /* @__PURE__ */ import_react10.default.createElement("div", { className: "relative w-full flex flex-col items-center" }, /* @__PURE__ */ import_react10.default.createElement("div", { className: "relative w-full rounded-t-xl overflow-hidden border-[5px] border-[#1c1c1e] bg-[#1c1c1e] shadow-2xl aspect-video" }, /* @__PURE__ */ import_react10.default.createElement("div", { className: "absolute top-1.5 left-1/2 -translate-x-1/2 w-2.5 h-2.5 bg-[#0a0a0b] rounded-full flex items-center justify-center z-30" }, /* @__PURE__ */ import_react10.default.createElement("div", { className: "w-1 h-1 bg-[#1a2d42] rounded-full" })), /* @__PURE__ */ import_react10.default.createElement("div", { className: "relative w-full h-full rounded-sm overflow-hidden" }, /* @__PURE__ */ import_react10.default.createElement(
321
652
  import_image2.default,
322
653
  {
323
654
  src: imageSrc,
@@ -327,14 +658,14 @@ var HeroSection = ({
327
658
  className: "object-cover object-top",
328
659
  priority: true
329
660
  }
330
- ))), /* @__PURE__ */ import_react7.default.createElement("div", { className: "relative w-[105%] h-2 md:h-2.5 bg-linear-to-b from-[#e2e8f0] via-[#cbd5e1] to-[#94a3b8] rounded-b-xl border-t border-slate-300 shadow-xl flex justify-center" }, /* @__PURE__ */ import_react7.default.createElement("div", { className: "w-16 md:w-24 h-1 md:h-1.5 bg-slate-400/30 rounded-b-md" }))))));
661
+ ))), /* @__PURE__ */ import_react10.default.createElement("div", { className: "relative w-[105%] h-2 md:h-2.5 bg-linear-to-b from-[#e2e8f0] via-[#cbd5e1] to-[#94a3b8] rounded-b-xl border-t border-slate-300 shadow-xl flex justify-center" }, /* @__PURE__ */ import_react10.default.createElement("div", { className: "w-16 md:w-24 h-1 md:h-1.5 bg-slate-400/30 rounded-b-md" }))))));
331
662
  };
332
663
 
333
664
  // src/components/AppBento2.tsx
334
- var import_react8 = __toESM(require("react"));
335
- var import_react9 = require("@hugeicons/react");
665
+ var import_react11 = __toESM(require("react"));
666
+ var import_react12 = require("@hugeicons/react");
336
667
  var AppBento2 = ({ tagline, headline, features }) => {
337
- return /* @__PURE__ */ import_react8.default.createElement("div", { className: "w-full py-16" }, /* @__PURE__ */ import_react8.default.createElement("div", { className: "w-full flex justify-center px-4" }, /* @__PURE__ */ import_react8.default.createElement("div", { className: "max-w-6xl w-full" }, /* @__PURE__ */ import_react8.default.createElement("div", { className: "relative overflow-hidden mb-12 text-left" }, /* @__PURE__ */ import_react8.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react8.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 block mb-4 uppercase" }, tagline), /* @__PURE__ */ import_react8.default.createElement("h2", { className: "text-3xl font-serif md:text-4xl tracking-tight text-black leading-[1.1]" }, headline))), /* @__PURE__ */ import_react8.default.createElement("div", { className: "grid grid-cols-1 lg:grid-cols-6 gap-6" }, features.map((f, i) => {
668
+ return /* @__PURE__ */ import_react11.default.createElement("div", { className: "w-full py-16" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "w-full flex justify-center px-4" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "max-w-6xl w-full" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "relative overflow-hidden mb-12 text-left" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react11.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 block mb-4 uppercase" }, tagline), /* @__PURE__ */ import_react11.default.createElement("h2", { className: "text-3xl font-serif md:text-4xl tracking-tight text-black leading-[1.1]" }, headline))), /* @__PURE__ */ import_react11.default.createElement("div", { className: "grid grid-cols-1 lg:grid-cols-6 gap-6" }, features.map((f, i) => {
338
669
  const isWhite = i === 0;
339
670
  const isBlack = i === 1;
340
671
  const isNeutral = i === 2;
@@ -356,35 +687,35 @@ var AppBento2 = ({ tagline, headline, features }) => {
356
687
  const textColor = isBlack ? "text-white" : "text-black";
357
688
  const subTextColor = isBlack ? "text-neutral-300" : "text-neutral-600";
358
689
  const labelColor = isBlack ? "text-neutral-400" : "text-neutral-500";
359
- return /* @__PURE__ */ import_react8.default.createElement(
690
+ return /* @__PURE__ */ import_react11.default.createElement(
360
691
  "div",
361
692
  {
362
693
  key: i,
363
694
  className: `relative rounded-2xl overflow-hidden p-8 flex flex-col min-h-75 transition-all duration-500 group text-left ${getBgStyle()} ${f.size}`,
364
695
  style: { boxShadow: getShadowStyle() }
365
696
  },
366
- /* @__PURE__ */ import_react8.default.createElement(
697
+ /* @__PURE__ */ import_react11.default.createElement(
367
698
  "div",
368
699
  {
369
700
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
370
701
  style: { backgroundImage: `url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")` }
371
702
  }
372
703
  ),
373
- isBlack && /* @__PURE__ */ import_react8.default.createElement("span", { className: "absolute inset-0 rounded-2xl bg-linear-to-b from-white/10 via-white/5 to-transparent pointer-events-none z-10" }),
374
- /* @__PURE__ */ import_react8.default.createElement("div", { className: "absolute inset-0 overflow-hidden pointer-events-none z-0" }, /* @__PURE__ */ import_react8.default.createElement("div", { className: `absolute -bottom-8 -right-8 transform group-hover:scale-110 transition-transform duration-700 ease-out ${isBlack ? "text-white/5" : "text-black/5"}` }, /* @__PURE__ */ import_react8.default.createElement(import_react9.HugeiconsIcon, { icon: f.icon, size: 180 }))),
375
- /* @__PURE__ */ import_react8.default.createElement("div", { className: "relative z-10 w-full h-full flex flex-col pointer-events-auto" }, /* @__PURE__ */ import_react8.default.createElement("div", { className: "flex items-center justify-between mb-8" }, /* @__PURE__ */ import_react8.default.createElement("span", { className: `text-[9px] uppercase tracking-widest ${labelColor}` }, f.label), /* @__PURE__ */ import_react8.default.createElement("div", { className: `p-2 rounded-full transition-colors ${isBlack ? "bg-white/10" : "bg-white/50 backdrop-blur-sm"}` }, /* @__PURE__ */ import_react8.default.createElement(import_react9.HugeiconsIcon, { icon: f.icon, size: 20, className: textColor }))), /* @__PURE__ */ import_react8.default.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ import_react8.default.createElement("h3", { className: `text-xl font-serif mb-2 tracking-tight ${textColor}` }, f.title), /* @__PURE__ */ import_react8.default.createElement("p", { className: `text-[13px] leading-relaxed max-w-sm ${subTextColor}` }, f.desc)))
704
+ isBlack && /* @__PURE__ */ import_react11.default.createElement("span", { className: "absolute inset-0 rounded-2xl bg-linear-to-b from-white/10 via-white/5 to-transparent pointer-events-none z-10" }),
705
+ /* @__PURE__ */ import_react11.default.createElement("div", { className: "absolute inset-0 overflow-hidden pointer-events-none z-0" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: `absolute -bottom-8 -right-8 transform group-hover:scale-110 transition-transform duration-700 ease-out ${isBlack ? "text-white/5" : "text-black/5"}` }, /* @__PURE__ */ import_react11.default.createElement(import_react12.HugeiconsIcon, { icon: f.icon, size: 180 }))),
706
+ /* @__PURE__ */ import_react11.default.createElement("div", { className: "relative z-10 w-full h-full flex flex-col pointer-events-auto" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "flex items-center justify-between mb-8" }, /* @__PURE__ */ import_react11.default.createElement("span", { className: `text-[9px] uppercase tracking-widest ${labelColor}` }, f.label), /* @__PURE__ */ import_react11.default.createElement("div", { className: `p-2 rounded-full transition-colors ${isBlack ? "bg-white/10" : "bg-white/50 backdrop-blur-sm"}` }, /* @__PURE__ */ import_react11.default.createElement(import_react12.HugeiconsIcon, { icon: f.icon, size: 20, className: textColor }))), /* @__PURE__ */ import_react11.default.createElement("div", { className: "mt-auto" }, /* @__PURE__ */ import_react11.default.createElement("h3", { className: `text-xl font-serif mb-2 tracking-tight ${textColor}` }, f.title), /* @__PURE__ */ import_react11.default.createElement("p", { className: `text-[13px] leading-relaxed max-w-sm ${subTextColor}` }, f.desc)))
376
707
  );
377
708
  })))));
378
709
  };
379
710
 
380
711
  // src/components/FeatureScroll.tsx
381
- var import_react10 = __toESM(require("react"));
712
+ var import_react13 = __toESM(require("react"));
382
713
  var import_image3 = __toESM(require("next/image"));
383
- var import_react11 = require("@hugeicons/react");
384
- var import_core_free_icons2 = require("@hugeicons/core-free-icons");
714
+ var import_react14 = require("@hugeicons/react");
715
+ var import_core_free_icons3 = require("@hugeicons/core-free-icons");
385
716
  var FeatureCard = ({ feature }) => {
386
- const [isLoading, setIsLoading] = (0, import_react10.useState)(!!feature.image);
387
- return /* @__PURE__ */ import_react10.default.createElement("div", { className: "flex flex-col shrink-0 w-[90vw] sm:w-150 snap-center md:snap-start group cursor-grab active:cursor-grabbing" }, /* @__PURE__ */ import_react10.default.createElement("div", { className: "relative w-full aspect-16/10 bg-neutral-100 rounded-2xl overflow-hidden mb-6 flex items-center justify-center" }, /* @__PURE__ */ import_react10.default.createElement(
717
+ const [isLoading, setIsLoading] = (0, import_react13.useState)(!!feature.image);
718
+ return /* @__PURE__ */ import_react13.default.createElement("div", { className: "flex flex-col shrink-0 w-[90vw] sm:w-150 snap-center md:snap-start group cursor-grab active:cursor-grabbing" }, /* @__PURE__ */ import_react13.default.createElement("div", { className: "relative w-full aspect-16/10 bg-neutral-100 rounded-2xl overflow-hidden mb-6 flex items-center justify-center" }, /* @__PURE__ */ import_react13.default.createElement(
388
719
  "div",
389
720
  {
390
721
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-20 mix-blend-overlay",
@@ -393,7 +724,7 @@ var FeatureCard = ({ feature }) => {
393
724
  backgroundRepeat: "repeat"
394
725
  }
395
726
  }
396
- ), isLoading && feature.image && /* @__PURE__ */ import_react10.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-10 bg-neutral-50/50 backdrop-blur-sm" }, /* @__PURE__ */ import_react10.default.createElement(import_react11.HugeiconsIcon, { icon: import_core_free_icons2.Loading03Icon, size: 32, className: "animate-spin text-neutral-400" })), feature.image ? /* @__PURE__ */ import_react10.default.createElement(
727
+ ), isLoading && feature.image && /* @__PURE__ */ import_react13.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-10 bg-neutral-50/50 backdrop-blur-sm" }, /* @__PURE__ */ import_react13.default.createElement(import_react14.HugeiconsIcon, { icon: import_core_free_icons3.Loading03Icon, size: 32, className: "animate-spin text-neutral-400" })), feature.image ? /* @__PURE__ */ import_react13.default.createElement(
397
728
  import_image3.default,
398
729
  {
399
730
  src: feature.image,
@@ -407,12 +738,12 @@ var FeatureCard = ({ feature }) => {
407
738
  group-hover:scale-105
408
739
  `
409
740
  }
410
- ) : /* @__PURE__ */ import_react10.default.createElement("div", { className: "absolute inset-0 bg-white z-0 transition-transform duration-700 ease-out group-hover:scale-105" })), /* @__PURE__ */ import_react10.default.createElement("div", { className: "flex flex-col text-left pr-4" }, /* @__PURE__ */ import_react10.default.createElement("h3", { className: "text-xl tracking-tight text-black mb-2" }, feature.title), /* @__PURE__ */ import_react10.default.createElement("p", { className: "text-[13px] leading-relaxed text-neutral-600 max-w-[90%]" }, feature.desc)));
741
+ ) : /* @__PURE__ */ import_react13.default.createElement("div", { className: "absolute inset-0 bg-white z-0 transition-transform duration-700 ease-out group-hover:scale-105" })), /* @__PURE__ */ import_react13.default.createElement("div", { className: "flex flex-col text-left pr-4" }, /* @__PURE__ */ import_react13.default.createElement("h3", { className: "text-xl tracking-tight text-black mb-2" }, feature.title), /* @__PURE__ */ import_react13.default.createElement("p", { className: "text-[13px] leading-relaxed text-neutral-600 max-w-[90%]" }, feature.desc)));
411
742
  };
412
743
  var FeatureScroll = ({ tagline, headline, features }) => {
413
- const scrollRef = (0, import_react10.useRef)(null);
414
- const [canScrollLeft, setCanScrollLeft] = (0, import_react10.useState)(false);
415
- const [canScrollRight, setCanScrollRight] = (0, import_react10.useState)(true);
744
+ const scrollRef = (0, import_react13.useRef)(null);
745
+ const [canScrollLeft, setCanScrollLeft] = (0, import_react13.useState)(false);
746
+ const [canScrollRight, setCanScrollRight] = (0, import_react13.useState)(true);
416
747
  const checkScroll = () => {
417
748
  if (scrollRef.current) {
418
749
  const { scrollLeft, scrollWidth, clientWidth } = scrollRef.current;
@@ -420,7 +751,7 @@ var FeatureScroll = ({ tagline, headline, features }) => {
420
751
  setCanScrollRight(scrollLeft < scrollWidth - clientWidth - 2);
421
752
  }
422
753
  };
423
- (0, import_react10.useEffect)(() => {
754
+ (0, import_react13.useEffect)(() => {
424
755
  checkScroll();
425
756
  window.addEventListener("resize", checkScroll);
426
757
  return () => window.removeEventListener("resize", checkScroll);
@@ -431,7 +762,7 @@ var FeatureScroll = ({ tagline, headline, features }) => {
431
762
  scrollRef.current.scrollBy({ left: scrollAmount, behavior: "smooth" });
432
763
  }
433
764
  };
434
- return /* @__PURE__ */ import_react10.default.createElement("section", { className: "py-24 w-full flex justify-center relative z-10 overflow-hidden" }, /* @__PURE__ */ import_react10.default.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ import_react10.default.createElement("div", { className: "flex flex-col md:flex-row md:items-end justify-between gap-6 mb-12" }, /* @__PURE__ */ import_react10.default.createElement("div", { className: "relative z-10 text-left" }, /* @__PURE__ */ import_react10.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 block mb-4" }, tagline), /* @__PURE__ */ import_react10.default.createElement("h2", { className: "text-3xl md:text-5xl tracking-tight text-black leading-[1.05]" }, headline)), /* @__PURE__ */ import_react10.default.createElement("div", { className: "hidden md:flex items-center gap-3" }, /* @__PURE__ */ import_react10.default.createElement(
765
+ return /* @__PURE__ */ import_react13.default.createElement("section", { className: "py-24 w-full flex justify-center relative z-10 overflow-hidden" }, /* @__PURE__ */ import_react13.default.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ import_react13.default.createElement("div", { className: "flex flex-col md:flex-row md:items-end justify-between gap-6 mb-12" }, /* @__PURE__ */ import_react13.default.createElement("div", { className: "relative z-10 text-left" }, /* @__PURE__ */ import_react13.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 block mb-4" }, tagline), /* @__PURE__ */ import_react13.default.createElement("h2", { className: "text-3xl font-serif md:text-5xl tracking-tight text-black leading-[1.05]" }, headline)), /* @__PURE__ */ import_react13.default.createElement("div", { className: "hidden md:flex items-center gap-3" }, /* @__PURE__ */ import_react13.default.createElement(
435
766
  "button",
436
767
  {
437
768
  onClick: () => scroll("left"),
@@ -439,8 +770,8 @@ var FeatureScroll = ({ tagline, headline, features }) => {
439
770
  className: "p-4 border border-neutral-200 rounded-full text-neutral-500 hover:text-black hover:border-black disabled:opacity-30 disabled:hover:border-neutral-200 disabled:hover:text-neutral-500 disabled:cursor-not-allowed transition-all outline-none",
440
771
  "aria-label": "Previous feature"
441
772
  },
442
- /* @__PURE__ */ import_react10.default.createElement(import_react11.HugeiconsIcon, { icon: import_core_free_icons2.ArrowLeft01Icon, size: 20 })
443
- ), /* @__PURE__ */ import_react10.default.createElement(
773
+ /* @__PURE__ */ import_react13.default.createElement(import_react14.HugeiconsIcon, { icon: import_core_free_icons3.ArrowLeft01Icon, size: 20 })
774
+ ), /* @__PURE__ */ import_react13.default.createElement(
444
775
  "button",
445
776
  {
446
777
  onClick: () => scroll("right"),
@@ -448,39 +779,39 @@ var FeatureScroll = ({ tagline, headline, features }) => {
448
779
  className: "p-4 border border-neutral-200 rounded-full text-neutral-500 hover:text-black hover:border-black disabled:opacity-30 disabled:hover:border-neutral-200 disabled:hover:text-neutral-500 disabled:cursor-not-allowed transition-all outline-none",
449
780
  "aria-label": "Next feature"
450
781
  },
451
- /* @__PURE__ */ import_react10.default.createElement(import_react11.HugeiconsIcon, { icon: import_core_free_icons2.ArrowRight01Icon, size: 20 })
452
- ))), /* @__PURE__ */ import_react10.default.createElement(
782
+ /* @__PURE__ */ import_react13.default.createElement(import_react14.HugeiconsIcon, { icon: import_core_free_icons3.ArrowRight01Icon, size: 20 })
783
+ ))), /* @__PURE__ */ import_react13.default.createElement(
453
784
  "div",
454
785
  {
455
786
  ref: scrollRef,
456
787
  onScroll: checkScroll,
457
788
  className: "flex gap-6 overflow-x-auto snap-x snap-mandatory [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] scrollbar-none pb-8 -mx-4 px-4 md:mx-0 md:px-0"
458
789
  },
459
- features.map((feature, idx) => /* @__PURE__ */ import_react10.default.createElement(FeatureCard, { key: idx, feature }))
460
- ), /* @__PURE__ */ import_react10.default.createElement("div", { className: "flex md:hidden items-center justify-center gap-4 mt-2" }, /* @__PURE__ */ import_react10.default.createElement(
790
+ features.map((feature, idx) => /* @__PURE__ */ import_react13.default.createElement(FeatureCard, { key: idx, feature }))
791
+ ), /* @__PURE__ */ import_react13.default.createElement("div", { className: "flex md:hidden items-center justify-center gap-4 mt-2" }, /* @__PURE__ */ import_react13.default.createElement(
461
792
  "button",
462
793
  {
463
794
  onClick: () => scroll("left"),
464
795
  disabled: !canScrollLeft,
465
796
  className: "p-4 border border-neutral-200 rounded-full text-neutral-500 hover:text-black hover:border-black disabled:opacity-30 transition-all outline-none"
466
797
  },
467
- /* @__PURE__ */ import_react10.default.createElement(import_react11.HugeiconsIcon, { icon: import_core_free_icons2.ArrowLeft01Icon, size: 20 })
468
- ), /* @__PURE__ */ import_react10.default.createElement(
798
+ /* @__PURE__ */ import_react13.default.createElement(import_react14.HugeiconsIcon, { icon: import_core_free_icons3.ArrowLeft01Icon, size: 20 })
799
+ ), /* @__PURE__ */ import_react13.default.createElement(
469
800
  "button",
470
801
  {
471
802
  onClick: () => scroll("right"),
472
803
  disabled: !canScrollRight,
473
804
  className: "p-4 border border-neutral-200 rounded-full text-neutral-500 hover:text-black hover:border-black disabled:opacity-30 transition-all outline-none"
474
805
  },
475
- /* @__PURE__ */ import_react10.default.createElement(import_react11.HugeiconsIcon, { icon: import_core_free_icons2.ArrowRight01Icon, size: 20 })
806
+ /* @__PURE__ */ import_react13.default.createElement(import_react14.HugeiconsIcon, { icon: import_core_free_icons3.ArrowRight01Icon, size: 20 })
476
807
  ))));
477
808
  };
478
809
 
479
810
  // src/components/AITranscriptionFeature.tsx
480
- var import_react12 = __toESM(require("react"));
811
+ var import_react15 = __toESM(require("react"));
481
812
  var import_image4 = __toESM(require("next/image"));
482
- var import_react13 = require("@hugeicons/react");
483
- var import_core_free_icons3 = require("@hugeicons/core-free-icons");
813
+ var import_react16 = require("@hugeicons/react");
814
+ var import_core_free_icons4 = require("@hugeicons/core-free-icons");
484
815
  var AITranscriptionFeature = ({
485
816
  tagline,
486
817
  headline,
@@ -491,8 +822,8 @@ var AITranscriptionFeature = ({
491
822
  cursorLabel,
492
823
  detailTextSuffix
493
824
  }) => {
494
- const [isLoading, setIsLoading] = (0, import_react12.useState)(!!imagePath);
495
- return /* @__PURE__ */ import_react12.default.createElement("section", { className: "py-24 w-full flex justify-center relative z-10" }, /* @__PURE__ */ import_react12.default.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ import_react12.default.createElement("div", { className: "flex flex-col items-center text-center mb-12 relative z-10 animate-in fade-in slide-in-from-bottom-4 duration-700" }, /* @__PURE__ */ import_react12.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 block mb-4" }, tagline), /* @__PURE__ */ import_react12.default.createElement("h2", { className: "text-3xl font-serif md:text-5xl tracking-tight animate-gradient-wipe leading-[1.05] mb-4" }, headline), /* @__PURE__ */ import_react12.default.createElement("p", { className: "text-[15px] md:text-[16px] leading-[1.8] text-neutral-600 max-w-xl mx-auto" }, description)), /* @__PURE__ */ import_react12.default.createElement("div", { className: "relative w-full max-w-5xl mx-auto aspect-video sm:aspect-21/9 bg-neutral-100 rounded-2xl overflow-hidden mb-12 flex items-center justify-center shadow-[0_0_40px_rgba(0,0,0,0.03)] animate-in fade-in zoom-in-95 duration-700 delay-150 fill-mode-both" }, /* @__PURE__ */ import_react12.default.createElement(
825
+ const [isLoading, setIsLoading] = (0, import_react15.useState)(!!imagePath);
826
+ return /* @__PURE__ */ import_react15.default.createElement("section", { className: "py-24 w-full flex justify-center relative z-10" }, /* @__PURE__ */ import_react15.default.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ import_react15.default.createElement("div", { className: "flex flex-col items-center text-center mb-12 relative z-10 animate-in fade-in slide-in-from-bottom-4 duration-700" }, /* @__PURE__ */ import_react15.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 block mb-4" }, tagline), /* @__PURE__ */ import_react15.default.createElement("h2", { className: "text-3xl font-serif md:text-5xl tracking-tight animate-gradient-wipe leading-[1.05] mb-4" }, headline), /* @__PURE__ */ import_react15.default.createElement("p", { className: "text-[15px] md:text-[16px] leading-[1.8] text-neutral-600 max-w-xl mx-auto" }, description)), /* @__PURE__ */ import_react15.default.createElement("div", { className: "relative w-full max-w-5xl mx-auto aspect-video sm:aspect-21/9 bg-neutral-100 rounded-2xl overflow-hidden mb-12 flex items-center justify-center shadow-[0_0_40px_rgba(0,0,0,0.03)] animate-in fade-in zoom-in-95 duration-700 delay-150 fill-mode-both" }, /* @__PURE__ */ import_react15.default.createElement(
496
827
  "div",
497
828
  {
498
829
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-20 mix-blend-overlay",
@@ -501,7 +832,7 @@ var AITranscriptionFeature = ({
501
832
  backgroundRepeat: "repeat"
502
833
  }
503
834
  }
504
- ), isLoading && imagePath && /* @__PURE__ */ import_react12.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-10 bg-neutral-50/50 backdrop-blur-sm transition-opacity duration-300" }, /* @__PURE__ */ import_react12.default.createElement(import_react13.HugeiconsIcon, { icon: import_core_free_icons3.Loading03Icon, size: 32, className: "animate-spin text-neutral-400" })), imagePath ? /* @__PURE__ */ import_react12.default.createElement(
835
+ ), isLoading && imagePath && /* @__PURE__ */ import_react15.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-10 bg-neutral-50/50 backdrop-blur-sm transition-opacity duration-300" }, /* @__PURE__ */ import_react15.default.createElement(import_react16.HugeiconsIcon, { icon: import_core_free_icons4.Loading03Icon, size: 32, className: "animate-spin text-neutral-400" })), imagePath ? /* @__PURE__ */ import_react15.default.createElement(
505
836
  import_image4.default,
506
837
  {
507
838
  src: imagePath,
@@ -514,32 +845,32 @@ var AITranscriptionFeature = ({
514
845
  ${isLoading ? "scale-105 blur-2xl opacity-0" : "scale-100 blur-0 opacity-100"}
515
846
  `
516
847
  }
517
- ) : /* @__PURE__ */ import_react12.default.createElement("div", { className: "absolute inset-0 bg-white z-0" })), /* @__PURE__ */ import_react12.default.createElement("div", { className: "max-w-3xl mx-auto text-center animate-in fade-in slide-in-from-bottom-4 duration-700 delay-300 fill-mode-both" }, /* @__PURE__ */ import_react12.default.createElement("p", { className: "text-[18px] sm:text-[22px] md:text-[25px] leading-[1.8] text-neutral-800" }, detailTextPrefix, " ", /* @__PURE__ */ import_react12.default.createElement("span", { className: "relative font-serif inline-block mx-1 px-2.5 py-0.5 bg-[#20A272]/10 border border-[#20A272] rounded-[3px] text-[#1C3D36] transition-all duration-300 max-w-full wrap-break-word" }, /* @__PURE__ */ import_react12.default.createElement("span", { className: "absolute top-[-3.5px] left-[-3.5px] w-2 h-2 bg-white border border-[#20A272] rounded-[1px] z-10" }), /* @__PURE__ */ import_react12.default.createElement("span", { className: "absolute top-[-3.5px] right-[-3.5px] w-2 h-2 bg-white border border-[#20A272] rounded-[1px] z-10" }), /* @__PURE__ */ import_react12.default.createElement("span", { className: "absolute bottom-[-3.5px] left-[-3.5px] w-2 h-2 bg-white border border-[#20A272] rounded-[1px] z-10" }), /* @__PURE__ */ import_react12.default.createElement("span", { className: "absolute bottom-[-3.5px] right-[-3.5px] w-2 h-2 bg-white border border-[#20A272] rounded-[1px] z-10" }), highlightText, /* @__PURE__ */ import_react12.default.createElement("span", { className: "absolute -bottom-6 -right-4 sm:-right-6 flex items-center z-20 pointer-events-none select-none filter drop-shadow-[0_2px_4px_rgba(0,0,0,0.15)]" }, /* @__PURE__ */ import_react12.default.createElement("svg", { width: "16", height: "20", viewBox: "0 0 16 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: "transform -rotate-12" }, /* @__PURE__ */ import_react12.default.createElement("path", { d: "M1 1V17.8L5.8 13.1H12.8L1 1Z", fill: "#20A272", stroke: "white", strokeWidth: "1.8", strokeLinejoin: "round" })), /* @__PURE__ */ import_react12.default.createElement("span", { className: "ml-1 bg-[#20A272] text-[10px] text-white font-mono px-2 py-0.5 rounded-full border border-white tracking-wide" }, cursorLabel))), " ", detailTextSuffix))));
848
+ ) : /* @__PURE__ */ import_react15.default.createElement("div", { className: "absolute inset-0 bg-white z-0" })), /* @__PURE__ */ import_react15.default.createElement("div", { className: "max-w-3xl mx-auto text-center animate-in fade-in slide-in-from-bottom-4 duration-700 delay-300 fill-mode-both" }, /* @__PURE__ */ import_react15.default.createElement("p", { className: "text-[18px] sm:text-[22px] md:text-[25px] leading-[1.8] text-neutral-800" }, detailTextPrefix, " ", /* @__PURE__ */ import_react15.default.createElement("span", { className: "relative font-serif inline-block mx-1 px-2.5 py-0.5 bg-[#20A272]/10 border border-[#20A272] rounded-[3px] text-[#1C3D36] transition-all duration-300 max-w-full wrap-break-word" }, /* @__PURE__ */ import_react15.default.createElement("span", { className: "absolute top-[-3.5px] left-[-3.5px] w-2 h-2 bg-white border border-[#20A272] rounded-[1px] z-10" }), /* @__PURE__ */ import_react15.default.createElement("span", { className: "absolute top-[-3.5px] right-[-3.5px] w-2 h-2 bg-white border border-[#20A272] rounded-[1px] z-10" }), /* @__PURE__ */ import_react15.default.createElement("span", { className: "absolute bottom-[-3.5px] left-[-3.5px] w-2 h-2 bg-white border border-[#20A272] rounded-[1px] z-10" }), /* @__PURE__ */ import_react15.default.createElement("span", { className: "absolute bottom-[-3.5px] right-[-3.5px] w-2 h-2 bg-white border border-[#20A272] rounded-[1px] z-10" }), highlightText, /* @__PURE__ */ import_react15.default.createElement("span", { className: "absolute -bottom-6 -right-4 sm:-right-6 flex items-center z-20 pointer-events-none select-none filter drop-shadow-[0_2px_4px_rgba(0,0,0,0.15)]" }, /* @__PURE__ */ import_react15.default.createElement("svg", { width: "16", height: "20", viewBox: "0 0 16 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: "transform -rotate-12" }, /* @__PURE__ */ import_react15.default.createElement("path", { d: "M1 1V17.8L5.8 13.1H12.8L1 1Z", fill: "#20A272", stroke: "white", strokeWidth: "1.8", strokeLinejoin: "round" })), /* @__PURE__ */ import_react15.default.createElement("span", { className: "ml-1 bg-[#20A272] text-[10px] text-white font-mono px-2 py-0.5 rounded-full border border-white tracking-wide" }, cursorLabel))), " ", detailTextSuffix))));
518
849
  };
519
850
 
520
851
  // src/components/PlatformFeatures.tsx
521
- var import_react14 = __toESM(require("react"));
522
- var import_react15 = require("@hugeicons/react");
852
+ var import_react17 = __toESM(require("react"));
853
+ var import_react18 = require("@hugeicons/react");
523
854
  var PlatformFeatures = ({
524
855
  tagline,
525
856
  headline,
526
857
  description,
527
858
  features
528
859
  }) => {
529
- return /* @__PURE__ */ import_react14.default.createElement("section", { className: "w-full flex justify-center mb-15 relative z-10" }, /* @__PURE__ */ import_react14.default.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ import_react14.default.createElement("div", { className: "flex flex-col items-start mb-16 relative z-10" }, /* @__PURE__ */ import_react14.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 block mb-4" }, tagline), /* @__PURE__ */ import_react14.default.createElement("h2", { className: "text-3xl font-serif md:text-5xl tracking-tight text-black leading-[1.05] mb-6" }, headline), /* @__PURE__ */ import_react14.default.createElement("p", { className: "text-[15px] md:text-[16px] leading-[1.8] text-neutral-600 max-w-2xl" }, description)), /* @__PURE__ */ import_react14.default.createElement("div", { className: "w-full h-px bg-neutral-100 mb-16", "aria-hidden": "true" }), /* @__PURE__ */ import_react14.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-x-8 gap-y-12" }, features.map((feature, idx) => /* @__PURE__ */ import_react14.default.createElement(
860
+ return /* @__PURE__ */ import_react17.default.createElement("section", { className: "w-full flex justify-center mb-15 relative z-10" }, /* @__PURE__ */ import_react17.default.createElement("div", { className: "max-w-6xl w-full flex flex-col px-4 md:px-8" }, /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex flex-col items-start mb-16 relative z-10" }, /* @__PURE__ */ import_react17.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 block mb-4" }, tagline), /* @__PURE__ */ import_react17.default.createElement("h2", { className: "text-3xl font-serif md:text-5xl tracking-tight text-black leading-[1.05] mb-6" }, headline), /* @__PURE__ */ import_react17.default.createElement("p", { className: "text-[15px] md:text-[16px] leading-[1.8] text-neutral-600 max-w-2xl" }, description)), /* @__PURE__ */ import_react17.default.createElement("div", { className: "w-full h-px bg-neutral-100 mb-16", "aria-hidden": "true" }), /* @__PURE__ */ import_react17.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-x-8 gap-y-12" }, features.map((feature, idx) => /* @__PURE__ */ import_react17.default.createElement(
530
861
  "div",
531
862
  {
532
863
  key: idx,
533
864
  className: "flex flex-col group animate-in fade-in slide-in-from-bottom-4 duration-700 fill-mode-both",
534
865
  style: { animationDelay: feature.delay || "0ms" }
535
866
  },
536
- /* @__PURE__ */ import_react14.default.createElement("div", { className: "w-12 h-12 rounded-full bg-neutral-100 flex items-center justify-center text-neutral-600 mb-5 transition-colors duration-300" }, /* @__PURE__ */ import_react14.default.createElement(import_react15.HugeiconsIcon, { icon: feature.icon, size: 24 })),
537
- /* @__PURE__ */ import_react14.default.createElement("div", null, /* @__PURE__ */ import_react14.default.createElement("h3", { className: "text-xl tracking-tight text-black mb-2" }, feature.title), /* @__PURE__ */ import_react14.default.createElement("p", { className: "text-[13px] leading-relaxed text-neutral-600 pr-4" }, feature.desc))
867
+ /* @__PURE__ */ import_react17.default.createElement("div", { className: "w-12 h-12 rounded-full bg-neutral-100 flex items-center justify-center text-neutral-600 mb-5 transition-colors duration-300" }, /* @__PURE__ */ import_react17.default.createElement(import_react18.HugeiconsIcon, { icon: feature.icon, size: 24 })),
868
+ /* @__PURE__ */ import_react17.default.createElement("div", null, /* @__PURE__ */ import_react17.default.createElement("h3", { className: "text-xl tracking-tight text-black mb-2" }, feature.title), /* @__PURE__ */ import_react17.default.createElement("p", { className: "text-[13px] leading-relaxed text-neutral-600 pr-4" }, feature.desc))
538
869
  )))));
539
870
  };
540
871
 
541
872
  // src/components/ManagedDocument.tsx
542
- var import_react16 = __toESM(require("react"));
873
+ var import_react19 = __toESM(require("react"));
543
874
  var ManagedDocument = ({
544
875
  tagline,
545
876
  title,
@@ -549,7 +880,7 @@ var ManagedDocument = ({
549
880
  }) => {
550
881
  return (
551
882
  // Outer layout wrapper (takes up available space, adds padding)
552
- /* @__PURE__ */ import_react16.default.createElement("div", { className: "grow pt-28 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react16.default.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-7xl mx-auto overflow-hidden" }, /* @__PURE__ */ import_react16.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react16.default.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10" }, tagline && /* @__PURE__ */ import_react16.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 text-left block uppercase" }, tagline), /* @__PURE__ */ import_react16.default.createElement("h1", { className: "text-4xl font-serif md:text-5xl mt-4 text-black tracking-tight text-left" }, title)), sections.map((section, index) => /* @__PURE__ */ import_react16.default.createElement("div", { key: index, className: "relative px-5 md:px-12 py-8 md:py-10" }, section.heading && /* @__PURE__ */ import_react16.default.createElement("h2", { className: "text-[11px] tracking-[0.2em] text-black mb-4 text-left uppercase" }, section.heading), section.paragraphs && section.paragraphs.length > 0 && /* @__PURE__ */ import_react16.default.createElement("div", { className: "text-[14px] leading-[1.8] text-neutral-700 space-y-4 text-left font-light" }, section.paragraphs.map((text, pIndex) => /* @__PURE__ */ import_react16.default.createElement("p", { key: pIndex }, text))), section.quote && /* @__PURE__ */ import_react16.default.createElement("div", { className: `bg-neutral-100 rounded-xl p-6 ${section.paragraphs && section.paragraphs.length > 0 ? "mt-6" : ""}` }, /* @__PURE__ */ import_react16.default.createElement("p", { className: "italic text-neutral-900 text-[13px] md:text-[14px] leading-relaxed" }, '"', section.quote, '"')))), (contactText || contactEmail) && /* @__PURE__ */ import_react16.default.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10 pb-12 md:pb-14" }, /* @__PURE__ */ import_react16.default.createElement("p", { className: "text-[12px] text-neutral-600 text-left" }, contactText, contactEmail && /* @__PURE__ */ import_react16.default.createElement(
883
+ /* @__PURE__ */ import_react19.default.createElement("div", { className: "grow pt-28 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react19.default.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-7xl mx-auto overflow-hidden" }, /* @__PURE__ */ import_react19.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react19.default.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10" }, tagline && /* @__PURE__ */ import_react19.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 text-left block uppercase" }, tagline), /* @__PURE__ */ import_react19.default.createElement("h1", { className: "text-4xl font-serif md:text-5xl mt-4 text-black tracking-tight text-left" }, title)), sections.map((section, index) => /* @__PURE__ */ import_react19.default.createElement("div", { key: index, className: "relative px-5 md:px-12 py-8 md:py-10" }, section.heading && /* @__PURE__ */ import_react19.default.createElement("h2", { className: "text-[11px] tracking-[0.2em] text-black mb-4 text-left uppercase" }, section.heading), section.paragraphs && section.paragraphs.length > 0 && /* @__PURE__ */ import_react19.default.createElement("div", { className: "text-[14px] leading-[1.8] text-neutral-700 space-y-4 text-left font-light" }, section.paragraphs.map((text, pIndex) => /* @__PURE__ */ import_react19.default.createElement("p", { key: pIndex }, text))), section.quote && /* @__PURE__ */ import_react19.default.createElement("div", { className: `bg-neutral-100 rounded-xl p-6 ${section.paragraphs && section.paragraphs.length > 0 ? "mt-6" : ""}` }, /* @__PURE__ */ import_react19.default.createElement("p", { className: "italic text-neutral-900 text-[13px] md:text-[14px] leading-relaxed" }, '"', section.quote, '"')))), (contactText || contactEmail) && /* @__PURE__ */ import_react19.default.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10 pb-12 md:pb-14" }, /* @__PURE__ */ import_react19.default.createElement("p", { className: "text-[12px] text-neutral-600 text-left" }, contactText, contactEmail && /* @__PURE__ */ import_react19.default.createElement(
553
884
  "a",
554
885
  {
555
886
  href: `mailto:${contactEmail}`,
@@ -561,18 +892,18 @@ var ManagedDocument = ({
561
892
  };
562
893
 
563
894
  // src/components/ManagedContactBlock.tsx
564
- var import_react17 = __toESM(require("react"));
565
- var import_react18 = require("@hugeicons/react");
895
+ var import_react20 = __toESM(require("react"));
896
+ var import_react21 = require("@hugeicons/react");
566
897
  var SecureEmail = ({ user, domain, className }) => {
567
- const [isMounted, setIsMounted] = (0, import_react17.useState)(false);
568
- (0, import_react17.useEffect)(() => {
898
+ const [isMounted, setIsMounted] = (0, import_react20.useState)(false);
899
+ (0, import_react20.useEffect)(() => {
569
900
  setIsMounted(true);
570
901
  }, []);
571
902
  if (!isMounted) {
572
- return /* @__PURE__ */ import_react17.default.createElement("span", { className, style: { opacity: 0 } }, "Loading");
903
+ return /* @__PURE__ */ import_react20.default.createElement("span", { className, style: { opacity: 0 } }, "Loading");
573
904
  }
574
905
  const email = `${user}@${domain}`;
575
- return /* @__PURE__ */ import_react17.default.createElement("a", { href: `mailto:${email}`, className }, email);
906
+ return /* @__PURE__ */ import_react20.default.createElement("a", { href: `mailto:${email}`, className }, email);
576
907
  };
577
908
  var ManagedContactBlock = ({
578
909
  tagline,
@@ -581,7 +912,7 @@ var ManagedContactBlock = ({
581
912
  emails,
582
913
  socials
583
914
  }) => {
584
- return /* @__PURE__ */ import_react17.default.createElement("div", { className: "grow pt-28 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react17.default.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-7xl mx-auto overflow-hidden" }, /* @__PURE__ */ import_react17.default.createElement(
915
+ return /* @__PURE__ */ import_react20.default.createElement("div", { className: "grow pt-28 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react20.default.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-7xl mx-auto overflow-hidden" }, /* @__PURE__ */ import_react20.default.createElement(
585
916
  "div",
586
917
  {
587
918
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -590,21 +921,21 @@ var ManagedContactBlock = ({
590
921
  backgroundRepeat: "repeat"
591
922
  }
592
923
  }
593
- ), /* @__PURE__ */ import_react17.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react17.default.createElement("div", { className: "relative px-8 md:px-12 py-10" }, tagline && /* @__PURE__ */ import_react17.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 text-left block uppercase" }, tagline), /* @__PURE__ */ import_react17.default.createElement("h1", { className: "text-4xl font-serif md:text-5xl mt-4 text-black tracking-tight text-left" }, title)), /* @__PURE__ */ import_react17.default.createElement("div", { className: "relative px-8 md:px-12 py-8 pb-14" }, /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex flex-wrap gap-12 lg:gap-16 w-full" }, company && /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ import_react17.default.createElement("h2", { className: "text-[11px] tracking-[0.2em] text-black mb-4 uppercase" }, "Contact Details"), /* @__PURE__ */ import_react17.default.createElement("div", { className: "space-y-3 text-[13px] text-neutral-600 leading-[1.8]" }, company.name && /* @__PURE__ */ import_react17.default.createElement("p", { className: "text-black" }, company.name), company.lines && company.lines.map((line, idx) => /* @__PURE__ */ import_react17.default.createElement("p", { key: idx }, line)), company.phone && /* @__PURE__ */ import_react17.default.createElement("p", { className: "pt-2" }, /* @__PURE__ */ import_react17.default.createElement(
924
+ ), /* @__PURE__ */ import_react20.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react20.default.createElement("div", { className: "relative px-8 md:px-12 py-10" }, tagline && /* @__PURE__ */ import_react20.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 text-left block uppercase" }, tagline), /* @__PURE__ */ import_react20.default.createElement("h1", { className: "text-4xl font-serif md:text-5xl mt-4 text-black tracking-tight text-left" }, title)), /* @__PURE__ */ import_react20.default.createElement("div", { className: "relative px-8 md:px-12 py-8 pb-14" }, /* @__PURE__ */ import_react20.default.createElement("div", { className: "flex flex-wrap gap-12 lg:gap-16 w-full" }, company && /* @__PURE__ */ import_react20.default.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ import_react20.default.createElement("h2", { className: "text-[11px] tracking-[0.2em] text-black mb-4 uppercase" }, "Contact Details"), /* @__PURE__ */ import_react20.default.createElement("div", { className: "space-y-3 text-[13px] text-neutral-600 leading-[1.8]" }, company.name && /* @__PURE__ */ import_react20.default.createElement("p", { className: "text-black" }, company.name), company.lines && company.lines.map((line, idx) => /* @__PURE__ */ import_react20.default.createElement("p", { key: idx }, line)), company.phone && /* @__PURE__ */ import_react20.default.createElement("p", { className: "pt-2" }, /* @__PURE__ */ import_react20.default.createElement(
594
925
  "a",
595
926
  {
596
927
  href: `tel:${company.phone.replace(/\s+/g, "")}`,
597
928
  className: "transition-colors hover:text-black"
598
929
  },
599
930
  company.phone
600
- )))), emails && emails.length > 0 && /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ import_react17.default.createElement("h2", { className: "text-[11px] tracking-[0.2em] text-black mb-4 uppercase" }, "Email Directory"), /* @__PURE__ */ import_react17.default.createElement("div", { className: "space-y-6 text-[13px]" }, emails.map((email, idx) => /* @__PURE__ */ import_react17.default.createElement("div", { key: idx }, /* @__PURE__ */ import_react17.default.createElement("p", { className: "text-[10px] tracking-[0.2em] mb-1.5 text-neutral-500 uppercase" }, email.label), /* @__PURE__ */ import_react17.default.createElement(
931
+ )))), emails && emails.length > 0 && /* @__PURE__ */ import_react20.default.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ import_react20.default.createElement("h2", { className: "text-[11px] tracking-[0.2em] text-black mb-4 uppercase" }, "Email Directory"), /* @__PURE__ */ import_react20.default.createElement("div", { className: "space-y-6 text-[13px]" }, emails.map((email, idx) => /* @__PURE__ */ import_react20.default.createElement("div", { key: idx }, /* @__PURE__ */ import_react20.default.createElement("p", { className: "text-[10px] tracking-[0.2em] mb-1.5 text-neutral-500 uppercase" }, email.label), /* @__PURE__ */ import_react20.default.createElement(
601
932
  SecureEmail,
602
933
  {
603
934
  user: email.user,
604
935
  domain: email.domain,
605
936
  className: "text-neutral-600 transition-colors hover:text-black"
606
937
  }
607
- ))))), socials && socials.length > 0 && /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ import_react17.default.createElement("h2", { className: "text-[11px] tracking-[0.2em] text-black mb-4 uppercase" }, "Find Us Online"), /* @__PURE__ */ import_react17.default.createElement("div", { className: "flex flex-col space-y-5 pt-1" }, socials.map((social, idx) => /* @__PURE__ */ import_react17.default.createElement(
938
+ ))))), socials && socials.length > 0 && /* @__PURE__ */ import_react20.default.createElement("div", { className: "flex-1 min-w-65 space-y-6" }, /* @__PURE__ */ import_react20.default.createElement("h2", { className: "text-[11px] tracking-[0.2em] text-black mb-4 uppercase" }, "Find Us Online"), /* @__PURE__ */ import_react20.default.createElement("div", { className: "flex flex-col space-y-5 pt-1" }, socials.map((social, idx) => /* @__PURE__ */ import_react20.default.createElement(
608
939
  "a",
609
940
  {
610
941
  key: idx,
@@ -614,29 +945,29 @@ var ManagedContactBlock = ({
614
945
  className: "flex items-center gap-3 transition-colors group text-neutral-600 hover:text-black",
615
946
  "aria-label": social.label
616
947
  },
617
- /* @__PURE__ */ import_react17.default.createElement(import_react18.HugeiconsIcon, { icon: social.icon, size: 18 }),
618
- /* @__PURE__ */ import_react17.default.createElement("span", { className: "text-[13px]" }, social.label)
948
+ /* @__PURE__ */ import_react20.default.createElement(import_react21.HugeiconsIcon, { icon: social.icon, size: 18 }),
949
+ /* @__PURE__ */ import_react20.default.createElement("span", { className: "text-[13px]" }, social.label)
619
950
  )))))))));
620
951
  };
621
952
 
622
953
  // src/components/ManagedPricingBlock.tsx
623
- var import_react19 = __toESM(require("react"));
954
+ var import_react22 = __toESM(require("react"));
624
955
  var import_link5 = __toESM(require("next/link"));
625
- var CheckIcon = ({ className = "" }) => /* @__PURE__ */ import_react19.default.createElement("svg", { viewBox: "0 0 24 24", fill: "none", className: `w-4 h-4 shrink-0 ${className}`, xmlns: "http://www.w3.org/2000/svg" }, /* @__PURE__ */ import_react19.default.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "black" }), /* @__PURE__ */ import_react19.default.createElement("path", { d: "M8 12L11 15L16 9", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
626
- var CrossIcon = ({ className = "" }) => /* @__PURE__ */ import_react19.default.createElement("svg", { viewBox: "0 0 24 24", fill: "none", className: `w-4 h-4 shrink-0 ${className}`, xmlns: "http://www.w3.org/2000/svg" }, /* @__PURE__ */ import_react19.default.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "#F5F5F5" }), /* @__PURE__ */ import_react19.default.createElement("path", { d: "M15 9L9 15M9 9l6 6", stroke: "#D4D4D4", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
956
+ var CheckIcon = ({ className = "" }) => /* @__PURE__ */ import_react22.default.createElement("svg", { viewBox: "0 0 24 24", fill: "none", className: `w-4 h-4 shrink-0 ${className}`, xmlns: "http://www.w3.org/2000/svg" }, /* @__PURE__ */ import_react22.default.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "black" }), /* @__PURE__ */ import_react22.default.createElement("path", { d: "M8 12L11 15L16 9", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
957
+ var CrossIcon = ({ className = "" }) => /* @__PURE__ */ import_react22.default.createElement("svg", { viewBox: "0 0 24 24", fill: "none", className: `w-4 h-4 shrink-0 ${className}`, xmlns: "http://www.w3.org/2000/svg" }, /* @__PURE__ */ import_react22.default.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "#F5F5F5" }), /* @__PURE__ */ import_react22.default.createElement("path", { d: "M15 9L9 15M9 9l6 6", stroke: "#D4D4D4", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
627
958
  var ManagedPricingBlock = ({
628
959
  tagline,
629
960
  title,
630
961
  plans
631
962
  }) => {
632
- return /* @__PURE__ */ import_react19.default.createElement("div", { className: "grow pt-40 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react19.default.createElement("div", { className: "w-full max-w-5xl mx-auto flex flex-col items-center" }, /* @__PURE__ */ import_react19.default.createElement("div", { className: "w-full flex flex-col items-center text-center mb-12" }, tagline && /* @__PURE__ */ import_react19.default.createElement("span", { className: "text-[9px] tracking-[0.4em] text-black block uppercase" }, tagline), /* @__PURE__ */ import_react19.default.createElement("h1", { className: "text-2xl font-serif sm:text-3xl mt-3 text-black tracking-tight" }, title)), /* @__PURE__ */ import_react19.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5 w-full max-w-3xl" }, plans.map((plan, planIdx) => /* @__PURE__ */ import_react19.default.createElement(
963
+ return /* @__PURE__ */ import_react22.default.createElement("div", { className: "grow pt-40 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react22.default.createElement("div", { className: "w-full max-w-5xl mx-auto flex flex-col items-center" }, /* @__PURE__ */ import_react22.default.createElement("div", { className: "w-full flex flex-col items-center text-center mb-12" }, tagline && /* @__PURE__ */ import_react22.default.createElement("span", { className: "text-[9px] tracking-[0.4em] text-black block uppercase" }, tagline), /* @__PURE__ */ import_react22.default.createElement("h1", { className: "text-2xl font-serif sm:text-3xl mt-3 text-black tracking-tight" }, title)), /* @__PURE__ */ import_react22.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5 w-full max-w-3xl" }, plans.map((plan, planIdx) => /* @__PURE__ */ import_react22.default.createElement(
633
964
  "div",
634
965
  {
635
966
  key: planIdx,
636
967
  className: `bg-white rounded-3xl p-6 flex flex-col relative overflow-hidden ${plan.isPremium ? "border border-neutral-100" : ""}`
637
968
  },
638
- /* @__PURE__ */ import_react19.default.createElement("div", { className: "mb-6" }, /* @__PURE__ */ import_react19.default.createElement("span", { className: "text-black text-base block mb-1" }, plan.name), /* @__PURE__ */ import_react19.default.createElement("div", { className: "flex items-baseline gap-1" }, /* @__PURE__ */ import_react19.default.createElement("span", { className: "text-3xl text-black" }, plan.price), plan.period && /* @__PURE__ */ import_react19.default.createElement("span", { className: "text-xs text-neutral-500" }, plan.period)), /* @__PURE__ */ import_react19.default.createElement("p", { className: "text-xs text-neutral-500 mt-2" }, plan.description)),
639
- plan.isPremium ? /* @__PURE__ */ import_react19.default.createElement(ThreeDButton, { href: plan.ctaHref, className: "mb-6 w-full" }, plan.ctaText) : /* @__PURE__ */ import_react19.default.createElement(
969
+ /* @__PURE__ */ import_react22.default.createElement("div", { className: "mb-6" }, /* @__PURE__ */ import_react22.default.createElement("span", { className: "text-black text-base block mb-1" }, plan.name), /* @__PURE__ */ import_react22.default.createElement("div", { className: "flex items-baseline gap-1" }, /* @__PURE__ */ import_react22.default.createElement("span", { className: "text-3xl text-black" }, plan.price), plan.period && /* @__PURE__ */ import_react22.default.createElement("span", { className: "text-xs text-neutral-500" }, plan.period)), /* @__PURE__ */ import_react22.default.createElement("p", { className: "text-xs text-neutral-500 mt-2" }, plan.description)),
970
+ plan.isPremium ? /* @__PURE__ */ import_react22.default.createElement(ThreeDButton, { href: plan.ctaHref, className: "mb-6 w-full" }, plan.ctaText) : /* @__PURE__ */ import_react22.default.createElement(
640
971
  import_link5.default,
641
972
  {
642
973
  href: plan.ctaHref,
@@ -644,20 +975,20 @@ var ManagedPricingBlock = ({
644
975
  },
645
976
  plan.ctaText
646
977
  ),
647
- /* @__PURE__ */ import_react19.default.createElement("div", { className: "flex flex-col gap-3" }, plan.features.map((feature, featureIdx) => {
978
+ /* @__PURE__ */ import_react22.default.createElement("div", { className: "flex flex-col gap-3" }, plan.features.map((feature, featureIdx) => {
648
979
  const isAvailable = feature.value !== false;
649
980
  const valueText = typeof feature.value === "string" ? feature.value : "";
650
- return /* @__PURE__ */ import_react19.default.createElement("div", { key: featureIdx, className: "flex items-center gap-2.5" }, isAvailable ? /* @__PURE__ */ import_react19.default.createElement(CheckIcon, null) : /* @__PURE__ */ import_react19.default.createElement(CrossIcon, null), /* @__PURE__ */ import_react19.default.createElement("span", { className: `text-xs ${isAvailable ? "text-neutral-800" : "text-neutral-400"}` }, feature.name, valueText && /* @__PURE__ */ import_react19.default.createElement("span", { className: "text-neutral-500 ml-1" }, "(", valueText, ")")));
981
+ return /* @__PURE__ */ import_react22.default.createElement("div", { key: featureIdx, className: "flex items-center gap-2.5" }, isAvailable ? /* @__PURE__ */ import_react22.default.createElement(CheckIcon, null) : /* @__PURE__ */ import_react22.default.createElement(CrossIcon, null), /* @__PURE__ */ import_react22.default.createElement("span", { className: `text-xs ${isAvailable ? "text-neutral-800" : "text-neutral-400"}` }, feature.name, valueText && /* @__PURE__ */ import_react22.default.createElement("span", { className: "text-neutral-500 ml-1" }, "(", valueText, ")")));
651
982
  }))
652
983
  )))));
653
984
  };
654
985
 
655
986
  // src/components/ManagedBoardBlock.tsx
656
- var import_react20 = __toESM(require("react"));
987
+ var import_react23 = __toESM(require("react"));
657
988
  var import_image5 = __toESM(require("next/image"));
658
- var import_react21 = require("@hugeicons/react");
659
- var import_core_free_icons4 = require("@hugeicons/core-free-icons");
660
- var MemberSocialLink = ({ href, icon, label, name }) => /* @__PURE__ */ import_react20.default.createElement(
989
+ var import_react24 = require("@hugeicons/react");
990
+ var import_core_free_icons5 = require("@hugeicons/core-free-icons");
991
+ var MemberSocialLink = ({ href, icon, label, name }) => /* @__PURE__ */ import_react23.default.createElement(
661
992
  "a",
662
993
  {
663
994
  href,
@@ -666,7 +997,7 @@ var MemberSocialLink = ({ href, icon, label, name }) => /* @__PURE__ */ import_r
666
997
  className: "text-neutral-400 hover:text-black transition-colors",
667
998
  "aria-label": `${name} on ${label}`
668
999
  },
669
- /* @__PURE__ */ import_react20.default.createElement(import_react21.HugeiconsIcon, { icon, size: 16 })
1000
+ /* @__PURE__ */ import_react23.default.createElement(import_react24.HugeiconsIcon, { icon, size: 16 })
670
1001
  );
671
1002
  var ManagedBoardBlock = ({
672
1003
  tagline,
@@ -675,7 +1006,7 @@ var ManagedBoardBlock = ({
675
1006
  contactText,
676
1007
  contactEmail
677
1008
  }) => {
678
- return /* @__PURE__ */ import_react20.default.createElement("div", { className: "grow pt-28 pb-20 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react20.default.createElement("div", { className: "relative w-full mx-auto overflow-hidden max-w-7xl" }, /* @__PURE__ */ import_react20.default.createElement(
1009
+ return /* @__PURE__ */ import_react23.default.createElement("div", { className: "grow pt-28 pb-20 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "relative w-full mx-auto overflow-hidden max-w-7xl" }, /* @__PURE__ */ import_react23.default.createElement(
679
1010
  "div",
680
1011
  {
681
1012
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -684,7 +1015,7 @@ var ManagedBoardBlock = ({
684
1015
  backgroundRepeat: "repeat"
685
1016
  }
686
1017
  }
687
- ), /* @__PURE__ */ import_react20.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react20.default.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10" }, tagline && /* @__PURE__ */ import_react20.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 text-left block uppercase" }, tagline), /* @__PURE__ */ import_react20.default.createElement("h1", { className: "text-4xl font-serif md:text-5xl mt-4 text-black tracking-tight text-left" }, title)), /* @__PURE__ */ import_react20.default.createElement("div", { className: "relative px-5 md:px-12 py-4 md:py-8" }, /* @__PURE__ */ import_react20.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5 md:gap-8" }, members.map((member, idx) => /* @__PURE__ */ import_react20.default.createElement("div", { key: idx, className: "relative p-6 md:p-8 rounded-2xl bg-white flex flex-col transition-all group" }, /* @__PURE__ */ import_react20.default.createElement("div", { className: "flex items-start space-x-4 md:space-x-5 mb-5 md:mb-6" }, /* @__PURE__ */ import_react20.default.createElement("div", { className: "relative w-14 h-14 md:w-16 md:h-16 shrink-0 bg-white overflow-hidden rounded-xl" }, /* @__PURE__ */ import_react20.default.createElement(
1018
+ ), /* @__PURE__ */ import_react23.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10" }, tagline && /* @__PURE__ */ import_react23.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 text-left block uppercase" }, tagline), /* @__PURE__ */ import_react23.default.createElement("h1", { className: "text-4xl font-serif md:text-5xl mt-4 text-black tracking-tight text-left" }, title)), /* @__PURE__ */ import_react23.default.createElement("div", { className: "relative px-5 md:px-12 py-4 md:py-8" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5 md:gap-8" }, members.map((member, idx) => /* @__PURE__ */ import_react23.default.createElement("div", { key: idx, className: "relative p-6 md:p-8 rounded-2xl bg-white flex flex-col transition-all group" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex items-start space-x-4 md:space-x-5 mb-5 md:mb-6" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "relative w-14 h-14 md:w-16 md:h-16 shrink-0 bg-white overflow-hidden rounded-xl" }, /* @__PURE__ */ import_react23.default.createElement(
688
1019
  import_image5.default,
689
1020
  {
690
1021
  src: member.imageSrc,
@@ -693,39 +1024,39 @@ var ManagedBoardBlock = ({
693
1024
  sizes: "(max-width: 768px) 56px, 64px",
694
1025
  className: "object-cover grayscale opacity-100 transition-opacity"
695
1026
  }
696
- )), /* @__PURE__ */ import_react20.default.createElement("div", { className: "pt-1" }, /* @__PURE__ */ import_react20.default.createElement("h3", { className: "text-[14px] md:text-[15px] text-black tracking-tight" }, member.name), /* @__PURE__ */ import_react20.default.createElement("p", { className: "text-[10px] tracking-[0.2em] text-neutral-500 mt-1.5 uppercase" }, member.title))), /* @__PURE__ */ import_react20.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 text-left grow mb-8" }, member.bio), /* @__PURE__ */ import_react20.default.createElement("div", { className: "space-y-6 mt-auto" }, /* @__PURE__ */ import_react20.default.createElement("div", { className: "w-full *:w-full" }, /* @__PURE__ */ import_react20.default.createElement(ThreeDButton, { href: member.website }, "Visit Website")), /* @__PURE__ */ import_react20.default.createElement("div", { className: "flex space-x-4 pt-5" }, member.twitterHandle && member.twitterHandle.length > 0 && /* @__PURE__ */ import_react20.default.createElement(
1027
+ )), /* @__PURE__ */ import_react23.default.createElement("div", { className: "pt-1" }, /* @__PURE__ */ import_react23.default.createElement("h3", { className: "text-[14px] md:text-[15px] text-black tracking-tight" }, member.name), /* @__PURE__ */ import_react23.default.createElement("p", { className: "text-[10px] tracking-[0.2em] text-neutral-500 mt-1.5 uppercase" }, member.title))), /* @__PURE__ */ import_react23.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 text-left grow mb-8" }, member.bio), /* @__PURE__ */ import_react23.default.createElement("div", { className: "space-y-6 mt-auto" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "w-full *:w-full" }, /* @__PURE__ */ import_react23.default.createElement(ThreeDButton, { href: member.website }, "Visit Website")), /* @__PURE__ */ import_react23.default.createElement("div", { className: "flex space-x-4 pt-5" }, member.twitterHandle && member.twitterHandle.length > 0 && /* @__PURE__ */ import_react23.default.createElement(
697
1028
  MemberSocialLink,
698
1029
  {
699
1030
  href: `https://x.com/${member.twitterHandle}`,
700
- icon: import_core_free_icons4.TwitterIcon,
1031
+ icon: import_core_free_icons5.TwitterIcon,
701
1032
  label: "X",
702
1033
  name: member.name
703
1034
  }
704
- ), member.linkedinHandle && member.linkedinHandle.length > 0 && /* @__PURE__ */ import_react20.default.createElement(
1035
+ ), member.linkedinHandle && member.linkedinHandle.length > 0 && /* @__PURE__ */ import_react23.default.createElement(
705
1036
  MemberSocialLink,
706
1037
  {
707
1038
  href: member.linkedinHandle,
708
- icon: import_core_free_icons4.LinkedinIcon,
1039
+ icon: import_core_free_icons5.LinkedinIcon,
709
1040
  label: "LinkedIn",
710
1041
  name: member.name
711
1042
  }
712
- ))))))), (contactText || contactEmail) && /* @__PURE__ */ import_react20.default.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10 pb-12 md:pb-14" }, /* @__PURE__ */ import_react20.default.createElement("p", { className: "text-[12px] text-neutral-600 text-left" }, contactText, contactEmail && /* @__PURE__ */ import_react20.default.createElement("a", { href: `mailto:${contactEmail}`, className: "text-black decoration-black decoration-2 underline-offset-4 ml-1 transition-colors" }, contactEmail))))));
1043
+ ))))))), (contactText || contactEmail) && /* @__PURE__ */ import_react23.default.createElement("div", { className: "relative px-5 md:px-12 py-8 md:py-10 pb-12 md:pb-14" }, /* @__PURE__ */ import_react23.default.createElement("p", { className: "text-[12px] text-neutral-600 text-left" }, contactText, contactEmail && /* @__PURE__ */ import_react23.default.createElement("a", { href: `mailto:${contactEmail}`, className: "text-black decoration-black decoration-2 underline-offset-4 ml-1 transition-colors" }, contactEmail))))));
713
1044
  };
714
1045
 
715
1046
  // src/components/ManagedProjectsBlock.tsx
716
- var import_react22 = __toESM(require("react"));
1047
+ var import_react25 = __toESM(require("react"));
717
1048
  var import_link6 = __toESM(require("next/link"));
718
1049
  var GridSection = ({
719
1050
  children,
720
1051
  isLast = false,
721
1052
  className = "py-8 md:py-10"
722
- }) => /* @__PURE__ */ import_react22.default.createElement("div", { className: `relative px-5 md:px-12 ${className} ${!isLast ? "border-b border-neutral-100" : ""}` }, children);
1053
+ }) => /* @__PURE__ */ import_react25.default.createElement("div", { className: `relative px-5 md:px-12 ${className} ${!isLast ? "border-b border-neutral-100" : ""}` }, children);
723
1054
  var ManagedProjectsBlock = ({
724
1055
  tagline,
725
1056
  title,
726
1057
  projects
727
1058
  }) => {
728
- return /* @__PURE__ */ import_react22.default.createElement("div", { className: "grow pt-28 pb-20 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react22.default.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-5xl mx-auto overflow-hidden" }, /* @__PURE__ */ import_react22.default.createElement(
1059
+ return /* @__PURE__ */ import_react25.default.createElement("div", { className: "grow pt-28 pb-20 px-3 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react25.default.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-5xl mx-auto overflow-hidden" }, /* @__PURE__ */ import_react25.default.createElement(
729
1060
  "div",
730
1061
  {
731
1062
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -734,15 +1065,15 @@ var ManagedProjectsBlock = ({
734
1065
  backgroundRepeat: "repeat"
735
1066
  }
736
1067
  }
737
- ), /* @__PURE__ */ import_react22.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react22.default.createElement(GridSection, null, tagline && /* @__PURE__ */ import_react22.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 text-left block uppercase" }, tagline), /* @__PURE__ */ import_react22.default.createElement("h1", { className: "text-4xl font-serif md:text-5xl mt-4 text-black tracking-tight text-left" }, title)), projects.map((project, index) => {
1068
+ ), /* @__PURE__ */ import_react25.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react25.default.createElement(GridSection, null, tagline && /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 text-left block uppercase" }, tagline), /* @__PURE__ */ import_react25.default.createElement("h1", { className: "text-4xl font-serif md:text-5xl mt-4 text-black tracking-tight text-left" }, title)), projects.map((project, index) => {
738
1069
  const isLast = index === projects.length - 1;
739
- const projectContent = /* @__PURE__ */ import_react22.default.createElement("div", { className: "group block w-full" }, /* @__PURE__ */ import_react22.default.createElement("div", { className: "flex flex-col md:flex-row md:items-center justify-between gap-3 md:gap-4 mb-4 md:mb-5" }, /* @__PURE__ */ import_react22.default.createElement("div", { className: "flex items-center gap-3 md:gap-4" }, /* @__PURE__ */ import_react22.default.createElement("h2", { className: "text-[16px] text-black transition-all flex items-center gap-2" }, project.title, /* @__PURE__ */ import_react22.default.createElement("span", { className: "text-[12px] opacity-0 -translate-x-2 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300" }, project.isExternal ? "\u2197" : "\u2192")), /* @__PURE__ */ import_react22.default.createElement("span", { className: `text-[9px] px-2.5 py-1 rounded-full tracking-[0.15em] uppercase transition-colors ${project.status.toLowerCase() === "production" ? "bg-black text-white" : "bg-neutral-100 text-neutral-500 group-hover:bg-neutral-200 group-hover:text-black"}` }, project.status)), /* @__PURE__ */ import_react22.default.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-500 shrink-0 uppercase" }, project.date)), /* @__PURE__ */ import_react22.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 max-w-4xl text-left transition-colors group-hover:text-black" }, project.description));
740
- return /* @__PURE__ */ import_react22.default.createElement(GridSection, { key: project.id || index, isLast, className: isLast ? "py-8 md:py-10 pb-12 md:pb-14" : "py-8 md:py-10" }, project.isExternal ? /* @__PURE__ */ import_react22.default.createElement("a", { href: project.link, target: "_blank", rel: "noopener noreferrer", className: "block outline-none" }, projectContent) : /* @__PURE__ */ import_react22.default.createElement(import_link6.default, { href: project.link, className: "block outline-none" }, projectContent));
1070
+ const projectContent = /* @__PURE__ */ import_react25.default.createElement("div", { className: "group block w-full" }, /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex flex-col md:flex-row md:items-center justify-between gap-3 md:gap-4 mb-4 md:mb-5" }, /* @__PURE__ */ import_react25.default.createElement("div", { className: "flex items-center gap-3 md:gap-4" }, /* @__PURE__ */ import_react25.default.createElement("h2", { className: "text-[16px] text-black transition-all flex items-center gap-2" }, project.title, /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[12px] opacity-0 -translate-x-2 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300" }, project.isExternal ? "\u2197" : "\u2192")), /* @__PURE__ */ import_react25.default.createElement("span", { className: `text-[9px] px-2.5 py-1 rounded-full tracking-[0.15em] uppercase transition-colors ${project.status.toLowerCase() === "production" ? "bg-black text-white" : "bg-neutral-100 text-neutral-500 group-hover:bg-neutral-200 group-hover:text-black"}` }, project.status)), /* @__PURE__ */ import_react25.default.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-500 shrink-0 uppercase" }, project.date)), /* @__PURE__ */ import_react25.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 max-w-4xl text-left transition-colors group-hover:text-black" }, project.description));
1071
+ return /* @__PURE__ */ import_react25.default.createElement(GridSection, { key: project.id || index, isLast, className: isLast ? "py-8 md:py-10 pb-12 md:pb-14" : "py-8 md:py-10" }, project.isExternal ? /* @__PURE__ */ import_react25.default.createElement("a", { href: project.link, target: "_blank", rel: "noopener noreferrer", className: "block outline-none" }, projectContent) : /* @__PURE__ */ import_react25.default.createElement(import_link6.default, { href: project.link, className: "block outline-none" }, projectContent));
741
1072
  }))));
742
1073
  };
743
1074
 
744
1075
  // src/components/ManagedNotFoundBlock.tsx
745
- var import_react23 = __toESM(require("react"));
1076
+ var import_react26 = __toESM(require("react"));
746
1077
  var import_link7 = __toESM(require("next/link"));
747
1078
  var ManagedNotFoundBlock = ({
748
1079
  title = "404 - Page Not Found",
@@ -750,15 +1081,15 @@ var ManagedNotFoundBlock = ({
750
1081
  backLinkText = "\u2190 Go back to Homepage",
751
1082
  backLinkHref = "/"
752
1083
  }) => {
753
- return /* @__PURE__ */ import_react23.default.createElement("main", { className: "min-h-screen flex items-center justify-center relative z-20 bg-transparent" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "p-6 w-full max-w-md mx-auto text-center" }, /* @__PURE__ */ import_react23.default.createElement("div", { className: "mb-8 flex justify-center" }, /* @__PURE__ */ import_react23.default.createElement(
1084
+ return /* @__PURE__ */ import_react26.default.createElement("main", { className: "min-h-screen flex items-center justify-center relative z-20 bg-transparent" }, /* @__PURE__ */ import_react26.default.createElement("div", { className: "p-6 w-full max-w-md mx-auto text-center" }, /* @__PURE__ */ import_react26.default.createElement("div", { className: "mb-8 flex justify-center" }, /* @__PURE__ */ import_react26.default.createElement(
754
1085
  "svg",
755
1086
  {
756
1087
  xmlns: "http://www.w3.org/2000/svg",
757
1088
  viewBox: "0 0 24 24",
758
1089
  className: "w-12 h-12 fill-neutral-200"
759
1090
  },
760
- /* @__PURE__ */ import_react23.default.createElement("path", { fillRule: "evenodd", d: "M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z", clipRule: "evenodd" })
761
- )), /* @__PURE__ */ import_react23.default.createElement("h1", { className: "text-xl font-serif md:text-3xl text-black tracking-tight mb-4" }, title), /* @__PURE__ */ import_react23.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 mb-12" }, description), /* @__PURE__ */ import_react23.default.createElement(
1091
+ /* @__PURE__ */ import_react26.default.createElement("path", { fillRule: "evenodd", d: "M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z", clipRule: "evenodd" })
1092
+ )), /* @__PURE__ */ import_react26.default.createElement("h1", { className: "text-xl font-serif md:text-3xl text-black tracking-tight mb-4" }, title), /* @__PURE__ */ import_react26.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 mb-12" }, description), /* @__PURE__ */ import_react26.default.createElement(
762
1093
  import_link7.default,
763
1094
  {
764
1095
  href: backLinkHref,
@@ -769,9 +1100,9 @@ var ManagedNotFoundBlock = ({
769
1100
  };
770
1101
 
771
1102
  // src/components/PageSpinner.tsx
772
- var import_react24 = __toESM(require("react"));
773
- var import_react25 = require("@hugeicons/react");
774
- var import_core_free_icons5 = require("@hugeicons/core-free-icons");
1103
+ var import_react27 = __toESM(require("react"));
1104
+ var import_react28 = require("@hugeicons/react");
1105
+ var import_core_free_icons6 = require("@hugeicons/core-free-icons");
775
1106
  var PageSpinner = ({
776
1107
  className = "",
777
1108
  iconClassName = "text-black",
@@ -779,10 +1110,10 @@ var PageSpinner = ({
779
1110
  }) => {
780
1111
  return (
781
1112
  // z-[100] ensures it sits above absolute headers and modals
782
- /* @__PURE__ */ import_react24.default.createElement("div", { className: `fixed inset-0 z-100 flex flex-col items-center justify-center w-full h-full pointer-events-none ${className}` }, /* @__PURE__ */ import_react24.default.createElement(
783
- import_react25.HugeiconsIcon,
1113
+ /* @__PURE__ */ import_react27.default.createElement("div", { className: `fixed inset-0 z-100 flex flex-col items-center justify-center w-full h-full pointer-events-none ${className}` }, /* @__PURE__ */ import_react27.default.createElement(
1114
+ import_react28.HugeiconsIcon,
784
1115
  {
785
- icon: import_core_free_icons5.Loading03Icon,
1116
+ icon: import_core_free_icons6.Loading03Icon,
786
1117
  size,
787
1118
  className: `animate-spin mb-4 ${iconClassName}`
788
1119
  }
@@ -791,11 +1122,11 @@ var PageSpinner = ({
791
1122
  };
792
1123
 
793
1124
  // src/components/ManagedToaster.tsx
794
- var import_react26 = __toESM(require("react"));
795
- var import_react_hot_toast = require("react-hot-toast");
1125
+ var import_react29 = __toESM(require("react"));
1126
+ var import_react_hot_toast2 = require("react-hot-toast");
796
1127
  var ManagedToaster = (props) => {
797
- return /* @__PURE__ */ import_react26.default.createElement(
798
- import_react_hot_toast.Toaster,
1128
+ return /* @__PURE__ */ import_react29.default.createElement(
1129
+ import_react_hot_toast2.Toaster,
799
1130
  {
800
1131
  position: "top-right",
801
1132
  ...props,
@@ -829,7 +1160,7 @@ var ManagedToaster = (props) => {
829
1160
  };
830
1161
 
831
1162
  // src/components/ManagedNewsletterSplitBlock.tsx
832
- var import_react27 = __toESM(require("react"));
1163
+ var import_react30 = __toESM(require("react"));
833
1164
  var import_image6 = __toESM(require("next/image"));
834
1165
  var ManagedNewsletterSplitBlock = ({
835
1166
  tagline,
@@ -843,7 +1174,7 @@ var ManagedNewsletterSplitBlock = ({
843
1174
  ctaHref = "/contact-us",
844
1175
  children
845
1176
  }) => {
846
- return /* @__PURE__ */ import_react27.default.createElement("div", { className: "grow flex flex-col md:flex-row relative w-full pt-32 md:pt-0" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "hidden md:block md:w-1/2 relative min-h-screen overflow-hidden" }, /* @__PURE__ */ import_react27.default.createElement(
1177
+ return /* @__PURE__ */ import_react30.default.createElement("div", { className: "grow flex flex-col md:flex-row relative w-full pt-32 md:pt-0" }, /* @__PURE__ */ import_react30.default.createElement("div", { className: "hidden md:block md:w-1/2 relative min-h-screen overflow-hidden" }, /* @__PURE__ */ import_react30.default.createElement(
847
1178
  import_image6.default,
848
1179
  {
849
1180
  src: imageSrc,
@@ -853,7 +1184,7 @@ var ManagedNewsletterSplitBlock = ({
853
1184
  className: "object-cover object-top grayscale opacity-60",
854
1185
  quality: 100
855
1186
  }
856
- ), /* @__PURE__ */ import_react27.default.createElement(
1187
+ ), /* @__PURE__ */ import_react30.default.createElement(
857
1188
  "div",
858
1189
  {
859
1190
  className: "absolute inset-0 z-10 pointer-events-none",
@@ -861,7 +1192,7 @@ var ManagedNewsletterSplitBlock = ({
861
1192
  background: "linear-gradient(to right, rgba(255,255,255,0) 30%, #ffffff 100%)"
862
1193
  }
863
1194
  }
864
- ), /* @__PURE__ */ import_react27.default.createElement(
1195
+ ), /* @__PURE__ */ import_react30.default.createElement(
865
1196
  "div",
866
1197
  {
867
1198
  className: "absolute inset-x-0 bottom-0 h-40 z-10 pointer-events-none",
@@ -869,7 +1200,7 @@ var ManagedNewsletterSplitBlock = ({
869
1200
  background: "linear-gradient(to bottom, rgba(255,255,255,0) 0%, #ffffff 100%)"
870
1201
  }
871
1202
  }
872
- )), /* @__PURE__ */ import_react27.default.createElement("div", { className: "w-full md:w-1/2 flex mt-22 flex-col items-center justify-center p-4 md:p-12 relative z-20" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "relative w-full max-w-lg p-8 md:p-12 text-center md:text-left transition-all duration-700 ease-out" }, /* @__PURE__ */ import_react27.default.createElement(
1203
+ )), /* @__PURE__ */ import_react30.default.createElement("div", { className: "w-full md:w-1/2 flex mt-22 flex-col items-center justify-center p-4 md:p-12 relative z-20" }, /* @__PURE__ */ import_react30.default.createElement("div", { className: "relative w-full max-w-lg p-8 md:p-12 text-center md:text-left transition-all duration-700 ease-out" }, /* @__PURE__ */ import_react30.default.createElement(
873
1204
  "div",
874
1205
  {
875
1206
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -878,7 +1209,7 @@ var ManagedNewsletterSplitBlock = ({
878
1209
  backgroundRepeat: "repeat"
879
1210
  }
880
1211
  }
881
- ), /* @__PURE__ */ import_react27.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "mb-10 border-b border-neutral-200 pb-8 text-center md:text-left" }, tagline && /* @__PURE__ */ import_react27.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 uppercase" }, tagline), /* @__PURE__ */ import_react27.default.createElement("h1", { className: "text-4xl font-serif md:text-5xl mt-4 text-black tracking-tight mb-4" }, title), subtitle && /* @__PURE__ */ import_react27.default.createElement("p", { className: "text-[11px] tracking-[0.2em] text-neutral-500 uppercase" }, subtitle)), /* @__PURE__ */ import_react27.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 mb-10 text-center md:text-left" }, description), children && /* @__PURE__ */ import_react27.default.createElement("div", { className: "mb-8 text-left" }, children), /* @__PURE__ */ import_react27.default.createElement("div", { className: "text-center md:text-left mt-10 space-y-6" }, dividerText && /* @__PURE__ */ import_react27.default.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ import_react27.default.createElement("div", { className: "grow h-px bg-neutral-200" }), /* @__PURE__ */ import_react27.default.createElement("span", { className: "shrink mx-4 text-[10px] tracking-[0.2em] text-neutral-400 uppercase" }, dividerText), /* @__PURE__ */ import_react27.default.createElement("div", { className: "grow h-px bg-neutral-200" })), ctaText && ctaHref && /* @__PURE__ */ import_react27.default.createElement("div", { className: "w-full *:w-full" }, /* @__PURE__ */ import_react27.default.createElement(
1212
+ ), /* @__PURE__ */ import_react30.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react30.default.createElement("div", { className: "mb-10 border-b border-neutral-200 pb-8 text-center md:text-left" }, tagline && /* @__PURE__ */ import_react30.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 uppercase" }, tagline), /* @__PURE__ */ import_react30.default.createElement("h1", { className: "text-4xl font-serif md:text-5xl mt-4 text-black tracking-tight mb-4" }, title), subtitle && /* @__PURE__ */ import_react30.default.createElement("p", { className: "text-[11px] tracking-[0.2em] text-neutral-500 uppercase" }, subtitle)), /* @__PURE__ */ import_react30.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 mb-10 text-center md:text-left" }, description), children && /* @__PURE__ */ import_react30.default.createElement("div", { className: "mb-8 text-left" }, children), /* @__PURE__ */ import_react30.default.createElement("div", { className: "text-center md:text-left mt-10 space-y-6" }, dividerText && /* @__PURE__ */ import_react30.default.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ import_react30.default.createElement("div", { className: "grow h-px bg-neutral-200" }), /* @__PURE__ */ import_react30.default.createElement("span", { className: "shrink mx-4 text-[10px] tracking-[0.2em] text-neutral-400 uppercase" }, dividerText), /* @__PURE__ */ import_react30.default.createElement("div", { className: "grow h-px bg-neutral-200" })), ctaText && ctaHref && /* @__PURE__ */ import_react30.default.createElement("div", { className: "w-full *:w-full" }, /* @__PURE__ */ import_react30.default.createElement(
882
1213
  ThreeDButton,
883
1214
  {
884
1215
  href: ctaHref,
@@ -889,7 +1220,7 @@ var ManagedNewsletterSplitBlock = ({
889
1220
  };
890
1221
 
891
1222
  // src/components/ReusableInputs.tsx
892
- var import_react28 = __toESM(require("react"));
1223
+ var import_react31 = __toESM(require("react"));
893
1224
  var TextInput = ({
894
1225
  label,
895
1226
  value,
@@ -899,7 +1230,7 @@ var TextInput = ({
899
1230
  disabled,
900
1231
  readOnly,
901
1232
  onClick
902
- }) => /* @__PURE__ */ import_react28.default.createElement("div", { className: "space-y-2 flex-1 w-full", onClick }, /* @__PURE__ */ import_react28.default.createElement("label", { className: "text-[10px] text-neutral-400 tracking-[0.2em] block uppercase" }, label), /* @__PURE__ */ import_react28.default.createElement(
1233
+ }) => /* @__PURE__ */ import_react31.default.createElement("div", { className: "space-y-2 flex-1 w-full", onClick }, /* @__PURE__ */ import_react31.default.createElement("label", { className: "text-[10px] text-neutral-400 tracking-[0.2em] block uppercase" }, label), /* @__PURE__ */ import_react31.default.createElement(
903
1234
  "input",
904
1235
  {
905
1236
  type: "text",
@@ -920,7 +1251,7 @@ var NumberInput = ({
920
1251
  placeholder,
921
1252
  maxLength,
922
1253
  disabled
923
- }) => /* @__PURE__ */ import_react28.default.createElement("div", { className: "space-y-2 flex-1 w-full" }, /* @__PURE__ */ import_react28.default.createElement("label", { className: "text-[10px] text-neutral-400 tracking-[0.2em] block uppercase" }, label), /* @__PURE__ */ import_react28.default.createElement(
1254
+ }) => /* @__PURE__ */ import_react31.default.createElement("div", { className: "space-y-2 flex-1 w-full" }, /* @__PURE__ */ import_react31.default.createElement("label", { className: "text-[10px] text-neutral-400 tracking-[0.2em] block uppercase" }, label), /* @__PURE__ */ import_react31.default.createElement(
924
1255
  "input",
925
1256
  {
926
1257
  type: "text",
@@ -938,14 +1269,14 @@ var NumberInput = ({
938
1269
  ));
939
1270
 
940
1271
  // src/components/PortfolioHero.tsx
941
- var import_react29 = __toESM(require("react"));
1272
+ var import_react32 = __toESM(require("react"));
942
1273
  var import_link8 = __toESM(require("next/link"));
943
1274
  var import_image7 = __toESM(require("next/image"));
944
- var import_react30 = require("@hugeicons/react");
945
- var import_core_free_icons6 = require("@hugeicons/core-free-icons");
1275
+ var import_react33 = require("@hugeicons/react");
1276
+ var import_core_free_icons7 = require("@hugeicons/core-free-icons");
946
1277
  var useScrollAnimation = () => {
947
- const elementRef = (0, import_react29.useRef)(null);
948
- (0, import_react29.useEffect)(() => {
1278
+ const elementRef = (0, import_react32.useRef)(null);
1279
+ (0, import_react32.useEffect)(() => {
949
1280
  const el = elementRef.current;
950
1281
  if (!el) return;
951
1282
  const observer = new IntersectionObserver(
@@ -981,13 +1312,13 @@ var PortfolioHero = ({
981
1312
  secondaryCtaHref
982
1313
  }) => {
983
1314
  const heroContentRef = useScrollAnimation();
984
- return /* @__PURE__ */ import_react29.default.createElement("section", { className: "pt-44 md:pt-52 pb-16 px-6 md:px-12 flex flex-col relative overflow-hidden z-10 w-full" }, /* @__PURE__ */ import_react29.default.createElement(
1315
+ return /* @__PURE__ */ import_react32.default.createElement("section", { className: "pt-44 md:pt-52 pb-16 px-6 md:px-12 flex flex-col relative overflow-hidden z-10 w-full" }, /* @__PURE__ */ import_react32.default.createElement(
985
1316
  "div",
986
1317
  {
987
1318
  ref: heroContentRef,
988
1319
  className: "w-full opacity-0 translate-y-5 transition-all duration-1000 ease-out relative z-10"
989
1320
  },
990
- /* @__PURE__ */ import_react29.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center gap-5 sm:gap-8 mb-10" }, /* @__PURE__ */ import_react29.default.createElement("div", { className: "relative w-20 h-20 sm:w-32 sm:h-32 rounded-full overflow-hidden border border-neutral-200 shrink-0 shadow-sm" }, /* @__PURE__ */ import_react29.default.createElement(
1321
+ /* @__PURE__ */ import_react32.default.createElement("div", { className: "flex flex-col sm:flex-row sm:items-center gap-5 sm:gap-8 mb-10" }, /* @__PURE__ */ import_react32.default.createElement("div", { className: "relative w-20 h-20 sm:w-32 sm:h-32 rounded-full overflow-hidden border border-neutral-200 shrink-0 shadow-sm" }, /* @__PURE__ */ import_react32.default.createElement(
991
1322
  import_image7.default,
992
1323
  {
993
1324
  src: imageSrc,
@@ -998,7 +1329,7 @@ var PortfolioHero = ({
998
1329
  sizes: "(max-width: 640px) 80px, 128px",
999
1330
  quality: 100
1000
1331
  }
1001
- )), /* @__PURE__ */ import_react29.default.createElement("div", { className: "flex flex-col text-left" }, /* @__PURE__ */ import_react29.default.createElement("h1", { className: "text-3xl font-serif sm:text-5xl animate-gradient-wipe lg:text-6xl tracking-tight text-black leading-none mb-3" }, name), socialLabel && /* @__PURE__ */ import_react29.default.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-500 uppercase" }, socialLabel), socialLinkText && socialLinkHref && /* @__PURE__ */ import_react29.default.createElement(
1332
+ )), /* @__PURE__ */ import_react32.default.createElement("div", { className: "flex flex-col text-left" }, /* @__PURE__ */ import_react32.default.createElement("h1", { className: "text-3xl font-serif sm:text-5xl animate-gradient-wipe lg:text-6xl tracking-tight text-black leading-none mb-3" }, name), socialLabel && /* @__PURE__ */ import_react32.default.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-500 uppercase" }, socialLabel), socialLinkText && socialLinkHref && /* @__PURE__ */ import_react32.default.createElement(
1002
1333
  "a",
1003
1334
  {
1004
1335
  href: socialLinkHref,
@@ -1008,25 +1339,153 @@ var PortfolioHero = ({
1008
1339
  },
1009
1340
  socialLinkText
1010
1341
  ))),
1011
- /* @__PURE__ */ import_react29.default.createElement("p", { className: "text-[13px] md:text-[16px] leading-[1.8] max-w-4xl mb-12 text-neutral-600" }, bio),
1012
- /* @__PURE__ */ import_react29.default.createElement("div", { className: "flex flex-col sm:flex-row gap-4 w-full sm:w-auto" }, primaryCtaText && primaryCtaHref && /* @__PURE__ */ import_react29.default.createElement("div", { className: "w-full sm:w-auto *:w-full" }, /* @__PURE__ */ import_react29.default.createElement(
1342
+ /* @__PURE__ */ import_react32.default.createElement("p", { className: "text-[13px] md:text-[16px] leading-[1.8] max-w-4xl mb-12 text-neutral-600" }, bio),
1343
+ /* @__PURE__ */ import_react32.default.createElement("div", { className: "flex flex-col sm:flex-row gap-4 w-full sm:w-auto" }, primaryCtaText && primaryCtaHref && /* @__PURE__ */ import_react32.default.createElement("div", { className: "w-full sm:w-auto *:w-full" }, /* @__PURE__ */ import_react32.default.createElement(
1013
1344
  ThreeDButton,
1014
1345
  {
1015
1346
  href: primaryCtaHref,
1016
1347
  className: "py-3 uppercase tracking-widest text-[11px]"
1017
1348
  },
1018
1349
  primaryCtaText
1019
- )), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ import_react29.default.createElement(
1350
+ )), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ import_react32.default.createElement(
1020
1351
  import_link8.default,
1021
1352
  {
1022
1353
  href: secondaryCtaHref,
1023
1354
  className: "w-full sm:w-auto inline-flex items-center justify-center gap-3 text-[11px] tracking-[0.2em] uppercase rounded-full px-8 py-3.5 bg-neutral-200 transition-colors text-black hover:bg-neutral-200 outline-none"
1024
1355
  },
1025
1356
  secondaryCtaText,
1026
- /* @__PURE__ */ import_react29.default.createElement(import_react30.HugeiconsIcon, { icon: import_core_free_icons6.ArrowRight01Icon, size: 16 })
1357
+ /* @__PURE__ */ import_react32.default.createElement(import_react33.HugeiconsIcon, { icon: import_core_free_icons7.ArrowRight01Icon, size: 16 })
1027
1358
  ))
1028
1359
  ));
1029
1360
  };
1361
+
1362
+ // src/components/ProductHero.tsx
1363
+ var import_react34 = __toESM(require("react"));
1364
+ var import_link9 = __toESM(require("next/link"));
1365
+ var import_image8 = __toESM(require("next/image"));
1366
+ var ProductHero = ({
1367
+ badgeText,
1368
+ titlePrefix,
1369
+ highlightText,
1370
+ subtitle,
1371
+ ctaText,
1372
+ ctaHref,
1373
+ secondaryCtaText,
1374
+ secondaryCtaHref,
1375
+ images
1376
+ }) => {
1377
+ const [currentIndex, setCurrentIndex] = (0, import_react34.useState)(0);
1378
+ const nextSlide = (0, import_react34.useCallback)(() => {
1379
+ setCurrentIndex((prev) => (prev + 1) % images.length);
1380
+ }, [images.length]);
1381
+ const prevSlide = (0, import_react34.useCallback)(() => {
1382
+ setCurrentIndex((prev) => (prev - 1 + images.length) % images.length);
1383
+ }, [images.length]);
1384
+ (0, import_react34.useEffect)(() => {
1385
+ const timer = setInterval(() => {
1386
+ nextSlide();
1387
+ }, 5e3);
1388
+ return () => clearInterval(timer);
1389
+ }, [nextSlide]);
1390
+ const getCarouselClasses = (idx) => {
1391
+ const diff = (idx - currentIndex + images.length) % images.length;
1392
+ if (diff === 0) {
1393
+ return "translate-x-0 scale-100 opacity-100 z-30 pointer-events-auto shadow-2xl";
1394
+ }
1395
+ if (diff === 1 || diff < 0 && diff === -2) {
1396
+ return "translate-x-[40%] sm:translate-x-[35%] scale-90 opacity-30 z-20 cursor-pointer hover:opacity-50";
1397
+ }
1398
+ if (diff === images.length - 1 || diff === -1) {
1399
+ return "-translate-x-[40%] sm:-translate-x-[35%] scale-90 opacity-30 z-20 cursor-pointer hover:opacity-50";
1400
+ }
1401
+ return "opacity-0 z-0 scale-75 pointer-events-none";
1402
+ };
1403
+ return /* @__PURE__ */ import_react34.default.createElement("section", { className: "relative pt-32 sm:pt-40 pb-0 flex flex-col items-center overflow-hidden w-full bg-[#f5f5f5]" }, /* @__PURE__ */ import_react34.default.createElement(
1404
+ "div",
1405
+ {
1406
+ className: "absolute inset-0 w-full h-full pointer-events-none z-0 bg-linear-to-b from-white via-white to-[#f5f5f5]"
1407
+ }
1408
+ ), /* @__PURE__ */ import_react34.default.createElement(
1409
+ "div",
1410
+ {
1411
+ className: "absolute inset-0 w-full h-full pointer-events-none z-0 opacity-[0.3] mix-blend-overlay",
1412
+ style: {
1413
+ backgroundImage: `url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")`
1414
+ }
1415
+ }
1416
+ ), /* @__PURE__ */ import_react34.default.createElement("div", { className: "relative max-w-5xl mx-auto px-4 sm:px-6 w-full flex flex-col items-center text-center z-10" }, badgeText && /* @__PURE__ */ import_react34.default.createElement("div", { className: "inline-flex items-center gap-1.5 mb-6 px-4 py-1.5 rounded-full bg-neutral-100 border border-neutral-200 backdrop-blur-md shadow-xs" }, /* @__PURE__ */ import_react34.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-600 uppercase font-medium" }, badgeText)), /* @__PURE__ */ import_react34.default.createElement("h1", { className: "text-[40px] md:text-5xl lg:text-7xl text-black tracking-tight leading-[1.05] max-w-4xl mb-4" }, titlePrefix, " ", /* @__PURE__ */ import_react34.default.createElement("span", { className: "bg-linear-to-r from-[#043324] to-[#21a473] bg-clip-text text-transparent font-serif italic pr-2" }, highlightText)), subtitle && /* @__PURE__ */ import_react34.default.createElement("p", { className: "text-[13px] md:text-[16px] text-neutral-600 max-w-xl mx-auto mb-10 font-light leading-relaxed" }, subtitle), /* @__PURE__ */ import_react34.default.createElement("div", { className: "flex flex-col sm:flex-row gap-4 justify-center items-center w-full px-2 sm:px-0 mx-auto mb-12 relative z-30" }, ctaText && ctaHref && /* @__PURE__ */ import_react34.default.createElement("div", { className: "w-full sm:w-60 flex justify-center *:w-full" }, /* @__PURE__ */ import_react34.default.createElement(ThreeDButton, { href: ctaHref }, ctaText)), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ import_react34.default.createElement(
1417
+ import_link9.default,
1418
+ {
1419
+ href: secondaryCtaHref,
1420
+ className: "w-full sm:w-60 inline-flex items-center justify-center text-[12px] tracking-widest rounded-full px-8 py-2.5 bg-white text-black border border-neutral-200 transition-colors hover:bg-neutral-50 outline-none shadow-sm"
1421
+ },
1422
+ secondaryCtaText
1423
+ )), /* @__PURE__ */ import_react34.default.createElement("div", { className: "relative w-full max-w-4xl mx-auto px-2 sm:px-6 mt-8 z-20" }, /* @__PURE__ */ import_react34.default.createElement("div", { className: "relative w-full aspect-4/3 md:aspect-video flex items-center justify-center" }, /* @__PURE__ */ import_react34.default.createElement("button", { onClick: prevSlide, className: "absolute left-0 sm:-left-12 z-40 p-2 text-neutral-400 hover:text-black transition-colors outline-none", "aria-label": "Previous image" }, /* @__PURE__ */ import_react34.default.createElement("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ import_react34.default.createElement("path", { d: "M15 18l-6-6 6-6" }))), /* @__PURE__ */ import_react34.default.createElement("button", { onClick: nextSlide, className: "absolute right-0 sm:-right-12 z-40 p-2 text-neutral-400 hover:text-black transition-colors outline-none", "aria-label": "Next image" }, /* @__PURE__ */ import_react34.default.createElement("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ import_react34.default.createElement("path", { d: "M9 18l6-6-6-6" }))), images.map((src, idx) => /* @__PURE__ */ import_react34.default.createElement(
1424
+ "div",
1425
+ {
1426
+ key: idx,
1427
+ onClick: () => {
1428
+ if (currentIndex !== idx) setCurrentIndex(idx);
1429
+ },
1430
+ className: `absolute inset-0 transition-all duration-700 ease-out transform ${getCarouselClasses(idx)}`
1431
+ },
1432
+ /* @__PURE__ */ import_react34.default.createElement("div", { className: "relative w-full h-full rounded-2xl overflow-hidden shadow-xl" }, /* @__PURE__ */ import_react34.default.createElement(
1433
+ import_image8.default,
1434
+ {
1435
+ src,
1436
+ alt: `Product Overview ${idx + 1}`,
1437
+ fill: true,
1438
+ sizes: "(max-width: 768px) 100vw, 800px",
1439
+ className: "object-cover object-center select-none",
1440
+ priority: idx === 0
1441
+ }
1442
+ ))
1443
+ )), /* @__PURE__ */ import_react34.default.createElement("div", { className: "absolute inset-x-0 bottom-0 h-1/3 sm:h-1/2 bg-linear-to-t from-[#f5f5f5] to-transparent z-40 pointer-events-none" })))));
1444
+ };
1445
+
1446
+ // src/components/GifFeatureCard.tsx
1447
+ var import_react35 = __toESM(require("react"));
1448
+ var import_image9 = __toESM(require("next/image"));
1449
+ var import_react36 = require("@hugeicons/react");
1450
+ var import_core_free_icons8 = require("@hugeicons/core-free-icons");
1451
+ var GifFeatureCard = ({
1452
+ gifSrc,
1453
+ title,
1454
+ subtitle,
1455
+ alt = "Feature animation",
1456
+ className = "aspect-video"
1457
+ }) => {
1458
+ const [isLoading, setIsLoading] = (0, import_react35.useState)(true);
1459
+ return /* @__PURE__ */ import_react35.default.createElement("div", { className: `relative w-full bg-black overflow-hidden shadow-2xl ${className}` }, isLoading && /* @__PURE__ */ import_react35.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-black" }, /* @__PURE__ */ import_react35.default.createElement(
1460
+ import_react36.HugeiconsIcon,
1461
+ {
1462
+ icon: import_core_free_icons8.Loading03Icon,
1463
+ size: 32,
1464
+ className: "animate-spin text-white"
1465
+ }
1466
+ )), /* @__PURE__ */ import_react35.default.createElement(
1467
+ "div",
1468
+ {
1469
+ className: `absolute inset-0 z-0 transition-all duration-1000 ease-out ${isLoading ? "scale-105 blur-2xl opacity-0" : "scale-100 blur-0 opacity-100"}`
1470
+ },
1471
+ /* @__PURE__ */ import_react35.default.createElement(
1472
+ import_image9.default,
1473
+ {
1474
+ src: gifSrc,
1475
+ alt,
1476
+ fill: true,
1477
+ unoptimized: true,
1478
+ onLoad: () => setIsLoading(false),
1479
+ className: "object-cover object-center pointer-events-none"
1480
+ }
1481
+ )
1482
+ ), /* @__PURE__ */ import_react35.default.createElement(
1483
+ "div",
1484
+ {
1485
+ className: "absolute inset-x-0 bottom-0 h-1/2 sm:h-2/3 bg-linear-to-t from-black/95 via-black/40 to-transparent z-10 pointer-events-none transition-opacity duration-700"
1486
+ }
1487
+ ), /* @__PURE__ */ import_react35.default.createElement("div", { className: "absolute inset-x-0 bottom-0 p-6 sm:p-8 z-30 flex flex-col justify-end text-left pointer-events-none" }, title && /* @__PURE__ */ import_react35.default.createElement("h3", { className: "text-xl sm:text-2xl md:text-3xl font-medium text-white tracking-tight mb-2 sm:mb-3 drop-shadow-md" }, title), subtitle && /* @__PURE__ */ import_react35.default.createElement("p", { className: "text-[13px] sm:text-[15px] leading-relaxed text-neutral-300 max-w-2xl drop-shadow-sm" }, subtitle)));
1488
+ };
1030
1489
  // Annotate the CommonJS export names for ESM import in node:
1031
1490
  0 && (module.exports = {
1032
1491
  AITranscriptionFeature,
@@ -1034,6 +1493,7 @@ var PortfolioHero = ({
1034
1493
  Faq,
1035
1494
  FeatureScroll,
1036
1495
  Footer,
1496
+ GifFeatureCard,
1037
1497
  Header,
1038
1498
  HeroSection,
1039
1499
  ManagedBoardBlock,
@@ -1048,6 +1508,9 @@ var PortfolioHero = ({
1048
1508
  PageSpinner,
1049
1509
  PlatformFeatures,
1050
1510
  PortfolioHero,
1511
+ ProductHero,
1051
1512
  TextInput,
1052
- ThreeDButton
1513
+ ThreeDActionButton,
1514
+ ThreeDButton,
1515
+ ZairusAuth
1053
1516
  });