@retinalabsllc/zairusjs 0.2.1 → 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
@@ -53,7 +53,9 @@ __export(index_exports, {
53
53
  PortfolioHero: () => PortfolioHero,
54
54
  ProductHero: () => ProductHero,
55
55
  TextInput: () => TextInput,
56
- ThreeDButton: () => ThreeDButton
56
+ ThreeDActionButton: () => ThreeDActionButton,
57
+ ThreeDButton: () => ThreeDButton,
58
+ ZairusAuth: () => ZairusAuth
57
59
  });
58
60
  module.exports = __toCommonJS(index_exports);
59
61
 
@@ -166,22 +168,349 @@ var ThreeDButton = ({
166
168
  );
167
169
  };
168
170
 
169
- // src/components/Header.tsx
171
+ // src/components/ThreeDActionButton.tsx
170
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"));
171
500
  var import_link2 = __toESM(require("next/link"));
172
501
  var import_image = __toESM(require("next/image"));
173
- var import_navigation = require("next/navigation");
502
+ var import_navigation2 = require("next/navigation");
174
503
  var NavLink = ({
175
504
  href,
176
505
  children,
177
506
  className = "",
178
507
  light = true
179
508
  }) => {
180
- const pathname = (0, import_navigation.usePathname)();
509
+ const pathname = (0, import_navigation2.usePathname)();
181
510
  const isActive = pathname === href;
182
511
  const activeClass = light ? "text-neutral-950 font-medium" : "text-white font-medium";
183
512
  const inactiveClass = light ? "text-neutral-600 hover:text-neutral-950" : "text-neutral-400 hover:text-white";
184
- return /* @__PURE__ */ import_react4.default.createElement(
513
+ return /* @__PURE__ */ import_react7.default.createElement(
185
514
  import_link2.default,
186
515
  {
187
516
  href,
@@ -208,7 +537,7 @@ var Header = ({
208
537
  const titleColor = light ? "text-black" : "text-white";
209
538
  const subtitleColor = light ? "text-neutral-500" : "text-neutral-400";
210
539
  const hasBrandSection = showLogo || !hideHeaderText;
211
- 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(
212
541
  import_image.default,
213
542
  {
214
543
  src: logoSrc,
@@ -218,7 +547,7 @@ var Header = ({
218
547
  className: `object-contain w-5 h-auto ${invert ? "invert" : ""}`,
219
548
  priority: true
220
549
  }
221
- ), !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(
222
551
  NavLink,
223
552
  {
224
553
  key: index,
@@ -231,9 +560,9 @@ var Header = ({
231
560
  };
232
561
 
233
562
  // src/components/Footer.tsx
234
- var import_react5 = __toESM(require("react"));
563
+ var import_react8 = __toESM(require("react"));
235
564
  var import_link3 = __toESM(require("next/link"));
236
- var import_react6 = require("@hugeicons/react");
565
+ var import_react9 = require("@hugeicons/react");
237
566
  var Footer = ({
238
567
  description,
239
568
  columns,
@@ -241,20 +570,20 @@ var Footer = ({
241
570
  copyrightText,
242
571
  topSection
243
572
  }) => {
244
- const [openCol, setOpenCol] = (0, import_react5.useState)(null);
573
+ const [openCol, setOpenCol] = (0, import_react8.useState)(null);
245
574
  const toggleColumn = (idx) => {
246
575
  setOpenCol(openCol === idx ? null : idx);
247
576
  };
248
- 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) => {
249
578
  const isOpen = openCol === idx;
250
- 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(
251
580
  "button",
252
581
  {
253
582
  onClick: () => toggleColumn(idx),
254
583
  className: "w-full flex items-center justify-between py-5 text-left outline-none"
255
584
  },
256
- /* @__PURE__ */ import_react5.default.createElement("span", { className: "text-[11px] tracking-[0.2em] text-black uppercase" }, col.title),
257
- /* @__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(
258
587
  "svg",
259
588
  {
260
589
  className: `w-4 h-4 text-neutral-400 transition-transform duration-300 ${isOpen ? "rotate-180" : ""}`,
@@ -262,10 +591,10 @@ var Footer = ({
262
591
  viewBox: "0 0 24 24",
263
592
  stroke: "currentColor"
264
593
  },
265
- /* @__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" })
266
595
  )
267
- ), /* @__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)))))));
268
- })))), /* @__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(
269
598
  "a",
270
599
  {
271
600
  key: idx,
@@ -275,12 +604,12 @@ var Footer = ({
275
604
  className: "text-neutral-400 hover:text-black transition-colors",
276
605
  "aria-label": social.name
277
606
  },
278
- /* @__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 })
279
608
  ))))))));
280
609
  };
281
610
 
282
611
  // src/components/HeroSection.tsx
283
- var import_react7 = __toESM(require("react"));
612
+ var import_react10 = __toESM(require("react"));
284
613
  var import_link4 = __toESM(require("next/link"));
285
614
  var import_image2 = __toESM(require("next/image"));
286
615
  var HeroSection = ({
@@ -296,7 +625,7 @@ var HeroSection = ({
296
625
  showImage = false,
297
626
  imageSrc = "/assets/ai.avif"
298
627
  }) => {
299
- 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(
300
629
  "div",
301
630
  {
302
631
  className: "absolute inset-0 w-full h-full pointer-events-none z-0",
@@ -304,7 +633,7 @@ var HeroSection = ({
304
633
  background: `radial-gradient(120% 100% at 50% 0%, #043324 0%, #21a473 45%, #e0f6ce 80%, #f5f5f5 100%)`
305
634
  }
306
635
  }
307
- ), /* @__PURE__ */ import_react7.default.createElement(
636
+ ), /* @__PURE__ */ import_react10.default.createElement(
308
637
  "div",
309
638
  {
310
639
  className: "absolute inset-0 w-full h-full pointer-events-none z-0 opacity-[0.25] mix-blend-overlay",
@@ -312,14 +641,14 @@ var HeroSection = ({
312
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")`
313
642
  }
314
643
  }
315
- ), /* @__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(
316
645
  import_link4.default,
317
646
  {
318
647
  href: secondaryCtaHref,
319
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"
320
649
  },
321
650
  secondaryCtaText
322
- )), 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(
323
652
  import_image2.default,
324
653
  {
325
654
  src: imageSrc,
@@ -329,14 +658,14 @@ var HeroSection = ({
329
658
  className: "object-cover object-top",
330
659
  priority: true
331
660
  }
332
- ))), /* @__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" }))))));
333
662
  };
334
663
 
335
664
  // src/components/AppBento2.tsx
336
- var import_react8 = __toESM(require("react"));
337
- var import_react9 = require("@hugeicons/react");
665
+ var import_react11 = __toESM(require("react"));
666
+ var import_react12 = require("@hugeicons/react");
338
667
  var AppBento2 = ({ tagline, headline, features }) => {
339
- 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) => {
340
669
  const isWhite = i === 0;
341
670
  const isBlack = i === 1;
342
671
  const isNeutral = i === 2;
@@ -358,35 +687,35 @@ var AppBento2 = ({ tagline, headline, features }) => {
358
687
  const textColor = isBlack ? "text-white" : "text-black";
359
688
  const subTextColor = isBlack ? "text-neutral-300" : "text-neutral-600";
360
689
  const labelColor = isBlack ? "text-neutral-400" : "text-neutral-500";
361
- return /* @__PURE__ */ import_react8.default.createElement(
690
+ return /* @__PURE__ */ import_react11.default.createElement(
362
691
  "div",
363
692
  {
364
693
  key: i,
365
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}`,
366
695
  style: { boxShadow: getShadowStyle() }
367
696
  },
368
- /* @__PURE__ */ import_react8.default.createElement(
697
+ /* @__PURE__ */ import_react11.default.createElement(
369
698
  "div",
370
699
  {
371
700
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
372
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")` }
373
702
  }
374
703
  ),
375
- 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" }),
376
- /* @__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 }))),
377
- /* @__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)))
378
707
  );
379
708
  })))));
380
709
  };
381
710
 
382
711
  // src/components/FeatureScroll.tsx
383
- var import_react10 = __toESM(require("react"));
712
+ var import_react13 = __toESM(require("react"));
384
713
  var import_image3 = __toESM(require("next/image"));
385
- var import_react11 = require("@hugeicons/react");
386
- 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");
387
716
  var FeatureCard = ({ feature }) => {
388
- const [isLoading, setIsLoading] = (0, import_react10.useState)(!!feature.image);
389
- 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(
390
719
  "div",
391
720
  {
392
721
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-20 mix-blend-overlay",
@@ -395,7 +724,7 @@ var FeatureCard = ({ feature }) => {
395
724
  backgroundRepeat: "repeat"
396
725
  }
397
726
  }
398
- ), 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(
399
728
  import_image3.default,
400
729
  {
401
730
  src: feature.image,
@@ -409,12 +738,12 @@ var FeatureCard = ({ feature }) => {
409
738
  group-hover:scale-105
410
739
  `
411
740
  }
412
- ) : /* @__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)));
413
742
  };
414
743
  var FeatureScroll = ({ tagline, headline, features }) => {
415
- const scrollRef = (0, import_react10.useRef)(null);
416
- const [canScrollLeft, setCanScrollLeft] = (0, import_react10.useState)(false);
417
- 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);
418
747
  const checkScroll = () => {
419
748
  if (scrollRef.current) {
420
749
  const { scrollLeft, scrollWidth, clientWidth } = scrollRef.current;
@@ -422,7 +751,7 @@ var FeatureScroll = ({ tagline, headline, features }) => {
422
751
  setCanScrollRight(scrollLeft < scrollWidth - clientWidth - 2);
423
752
  }
424
753
  };
425
- (0, import_react10.useEffect)(() => {
754
+ (0, import_react13.useEffect)(() => {
426
755
  checkScroll();
427
756
  window.addEventListener("resize", checkScroll);
428
757
  return () => window.removeEventListener("resize", checkScroll);
@@ -433,7 +762,7 @@ var FeatureScroll = ({ tagline, headline, features }) => {
433
762
  scrollRef.current.scrollBy({ left: scrollAmount, behavior: "smooth" });
434
763
  }
435
764
  };
436
- 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 font-serif 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(
437
766
  "button",
438
767
  {
439
768
  onClick: () => scroll("left"),
@@ -441,8 +770,8 @@ var FeatureScroll = ({ tagline, headline, features }) => {
441
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",
442
771
  "aria-label": "Previous feature"
443
772
  },
444
- /* @__PURE__ */ import_react10.default.createElement(import_react11.HugeiconsIcon, { icon: import_core_free_icons2.ArrowLeft01Icon, size: 20 })
445
- ), /* @__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(
446
775
  "button",
447
776
  {
448
777
  onClick: () => scroll("right"),
@@ -450,39 +779,39 @@ var FeatureScroll = ({ tagline, headline, features }) => {
450
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",
451
780
  "aria-label": "Next feature"
452
781
  },
453
- /* @__PURE__ */ import_react10.default.createElement(import_react11.HugeiconsIcon, { icon: import_core_free_icons2.ArrowRight01Icon, size: 20 })
454
- ))), /* @__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(
455
784
  "div",
456
785
  {
457
786
  ref: scrollRef,
458
787
  onScroll: checkScroll,
459
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"
460
789
  },
461
- features.map((feature, idx) => /* @__PURE__ */ import_react10.default.createElement(FeatureCard, { key: idx, feature }))
462
- ), /* @__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(
463
792
  "button",
464
793
  {
465
794
  onClick: () => scroll("left"),
466
795
  disabled: !canScrollLeft,
467
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"
468
797
  },
469
- /* @__PURE__ */ import_react10.default.createElement(import_react11.HugeiconsIcon, { icon: import_core_free_icons2.ArrowLeft01Icon, size: 20 })
470
- ), /* @__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(
471
800
  "button",
472
801
  {
473
802
  onClick: () => scroll("right"),
474
803
  disabled: !canScrollRight,
475
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"
476
805
  },
477
- /* @__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 })
478
807
  ))));
479
808
  };
480
809
 
481
810
  // src/components/AITranscriptionFeature.tsx
482
- var import_react12 = __toESM(require("react"));
811
+ var import_react15 = __toESM(require("react"));
483
812
  var import_image4 = __toESM(require("next/image"));
484
- var import_react13 = require("@hugeicons/react");
485
- 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");
486
815
  var AITranscriptionFeature = ({
487
816
  tagline,
488
817
  headline,
@@ -493,8 +822,8 @@ var AITranscriptionFeature = ({
493
822
  cursorLabel,
494
823
  detailTextSuffix
495
824
  }) => {
496
- const [isLoading, setIsLoading] = (0, import_react12.useState)(!!imagePath);
497
- 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(
498
827
  "div",
499
828
  {
500
829
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-20 mix-blend-overlay",
@@ -503,7 +832,7 @@ var AITranscriptionFeature = ({
503
832
  backgroundRepeat: "repeat"
504
833
  }
505
834
  }
506
- ), 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(
507
836
  import_image4.default,
508
837
  {
509
838
  src: imagePath,
@@ -516,32 +845,32 @@ var AITranscriptionFeature = ({
516
845
  ${isLoading ? "scale-105 blur-2xl opacity-0" : "scale-100 blur-0 opacity-100"}
517
846
  `
518
847
  }
519
- ) : /* @__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))));
520
849
  };
521
850
 
522
851
  // src/components/PlatformFeatures.tsx
523
- var import_react14 = __toESM(require("react"));
524
- var import_react15 = require("@hugeicons/react");
852
+ var import_react17 = __toESM(require("react"));
853
+ var import_react18 = require("@hugeicons/react");
525
854
  var PlatformFeatures = ({
526
855
  tagline,
527
856
  headline,
528
857
  description,
529
858
  features
530
859
  }) => {
531
- 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(
532
861
  "div",
533
862
  {
534
863
  key: idx,
535
864
  className: "flex flex-col group animate-in fade-in slide-in-from-bottom-4 duration-700 fill-mode-both",
536
865
  style: { animationDelay: feature.delay || "0ms" }
537
866
  },
538
- /* @__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 })),
539
- /* @__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))
540
869
  )))));
541
870
  };
542
871
 
543
872
  // src/components/ManagedDocument.tsx
544
- var import_react16 = __toESM(require("react"));
873
+ var import_react19 = __toESM(require("react"));
545
874
  var ManagedDocument = ({
546
875
  tagline,
547
876
  title,
@@ -551,7 +880,7 @@ var ManagedDocument = ({
551
880
  }) => {
552
881
  return (
553
882
  // Outer layout wrapper (takes up available space, adds padding)
554
- /* @__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(
555
884
  "a",
556
885
  {
557
886
  href: `mailto:${contactEmail}`,
@@ -563,18 +892,18 @@ var ManagedDocument = ({
563
892
  };
564
893
 
565
894
  // src/components/ManagedContactBlock.tsx
566
- var import_react17 = __toESM(require("react"));
567
- var import_react18 = require("@hugeicons/react");
895
+ var import_react20 = __toESM(require("react"));
896
+ var import_react21 = require("@hugeicons/react");
568
897
  var SecureEmail = ({ user, domain, className }) => {
569
- const [isMounted, setIsMounted] = (0, import_react17.useState)(false);
570
- (0, import_react17.useEffect)(() => {
898
+ const [isMounted, setIsMounted] = (0, import_react20.useState)(false);
899
+ (0, import_react20.useEffect)(() => {
571
900
  setIsMounted(true);
572
901
  }, []);
573
902
  if (!isMounted) {
574
- 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");
575
904
  }
576
905
  const email = `${user}@${domain}`;
577
- 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);
578
907
  };
579
908
  var ManagedContactBlock = ({
580
909
  tagline,
@@ -583,7 +912,7 @@ var ManagedContactBlock = ({
583
912
  emails,
584
913
  socials
585
914
  }) => {
586
- 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(
587
916
  "div",
588
917
  {
589
918
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -592,21 +921,21 @@ var ManagedContactBlock = ({
592
921
  backgroundRepeat: "repeat"
593
922
  }
594
923
  }
595
- ), /* @__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(
596
925
  "a",
597
926
  {
598
927
  href: `tel:${company.phone.replace(/\s+/g, "")}`,
599
928
  className: "transition-colors hover:text-black"
600
929
  },
601
930
  company.phone
602
- )))), 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(
603
932
  SecureEmail,
604
933
  {
605
934
  user: email.user,
606
935
  domain: email.domain,
607
936
  className: "text-neutral-600 transition-colors hover:text-black"
608
937
  }
609
- ))))), 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(
610
939
  "a",
611
940
  {
612
941
  key: idx,
@@ -616,29 +945,29 @@ var ManagedContactBlock = ({
616
945
  className: "flex items-center gap-3 transition-colors group text-neutral-600 hover:text-black",
617
946
  "aria-label": social.label
618
947
  },
619
- /* @__PURE__ */ import_react17.default.createElement(import_react18.HugeiconsIcon, { icon: social.icon, size: 18 }),
620
- /* @__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)
621
950
  )))))))));
622
951
  };
623
952
 
624
953
  // src/components/ManagedPricingBlock.tsx
625
- var import_react19 = __toESM(require("react"));
954
+ var import_react22 = __toESM(require("react"));
626
955
  var import_link5 = __toESM(require("next/link"));
627
- 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" }));
628
- 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" }));
629
958
  var ManagedPricingBlock = ({
630
959
  tagline,
631
960
  title,
632
961
  plans
633
962
  }) => {
634
- 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(
635
964
  "div",
636
965
  {
637
966
  key: planIdx,
638
967
  className: `bg-white rounded-3xl p-6 flex flex-col relative overflow-hidden ${plan.isPremium ? "border border-neutral-100" : ""}`
639
968
  },
640
- /* @__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)),
641
- 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(
642
971
  import_link5.default,
643
972
  {
644
973
  href: plan.ctaHref,
@@ -646,20 +975,20 @@ var ManagedPricingBlock = ({
646
975
  },
647
976
  plan.ctaText
648
977
  ),
649
- /* @__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) => {
650
979
  const isAvailable = feature.value !== false;
651
980
  const valueText = typeof feature.value === "string" ? feature.value : "";
652
- 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, ")")));
653
982
  }))
654
983
  )))));
655
984
  };
656
985
 
657
986
  // src/components/ManagedBoardBlock.tsx
658
- var import_react20 = __toESM(require("react"));
987
+ var import_react23 = __toESM(require("react"));
659
988
  var import_image5 = __toESM(require("next/image"));
660
- var import_react21 = require("@hugeicons/react");
661
- var import_core_free_icons4 = require("@hugeicons/core-free-icons");
662
- 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(
663
992
  "a",
664
993
  {
665
994
  href,
@@ -668,7 +997,7 @@ var MemberSocialLink = ({ href, icon, label, name }) => /* @__PURE__ */ import_r
668
997
  className: "text-neutral-400 hover:text-black transition-colors",
669
998
  "aria-label": `${name} on ${label}`
670
999
  },
671
- /* @__PURE__ */ import_react20.default.createElement(import_react21.HugeiconsIcon, { icon, size: 16 })
1000
+ /* @__PURE__ */ import_react23.default.createElement(import_react24.HugeiconsIcon, { icon, size: 16 })
672
1001
  );
673
1002
  var ManagedBoardBlock = ({
674
1003
  tagline,
@@ -677,7 +1006,7 @@ var ManagedBoardBlock = ({
677
1006
  contactText,
678
1007
  contactEmail
679
1008
  }) => {
680
- 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(
681
1010
  "div",
682
1011
  {
683
1012
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -686,7 +1015,7 @@ var ManagedBoardBlock = ({
686
1015
  backgroundRepeat: "repeat"
687
1016
  }
688
1017
  }
689
- ), /* @__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(
690
1019
  import_image5.default,
691
1020
  {
692
1021
  src: member.imageSrc,
@@ -695,39 +1024,39 @@ var ManagedBoardBlock = ({
695
1024
  sizes: "(max-width: 768px) 56px, 64px",
696
1025
  className: "object-cover grayscale opacity-100 transition-opacity"
697
1026
  }
698
- )), /* @__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(
699
1028
  MemberSocialLink,
700
1029
  {
701
1030
  href: `https://x.com/${member.twitterHandle}`,
702
- icon: import_core_free_icons4.TwitterIcon,
1031
+ icon: import_core_free_icons5.TwitterIcon,
703
1032
  label: "X",
704
1033
  name: member.name
705
1034
  }
706
- ), member.linkedinHandle && member.linkedinHandle.length > 0 && /* @__PURE__ */ import_react20.default.createElement(
1035
+ ), member.linkedinHandle && member.linkedinHandle.length > 0 && /* @__PURE__ */ import_react23.default.createElement(
707
1036
  MemberSocialLink,
708
1037
  {
709
1038
  href: member.linkedinHandle,
710
- icon: import_core_free_icons4.LinkedinIcon,
1039
+ icon: import_core_free_icons5.LinkedinIcon,
711
1040
  label: "LinkedIn",
712
1041
  name: member.name
713
1042
  }
714
- ))))))), (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))))));
715
1044
  };
716
1045
 
717
1046
  // src/components/ManagedProjectsBlock.tsx
718
- var import_react22 = __toESM(require("react"));
1047
+ var import_react25 = __toESM(require("react"));
719
1048
  var import_link6 = __toESM(require("next/link"));
720
1049
  var GridSection = ({
721
1050
  children,
722
1051
  isLast = false,
723
1052
  className = "py-8 md:py-10"
724
- }) => /* @__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);
725
1054
  var ManagedProjectsBlock = ({
726
1055
  tagline,
727
1056
  title,
728
1057
  projects
729
1058
  }) => {
730
- 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(
731
1060
  "div",
732
1061
  {
733
1062
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -736,15 +1065,15 @@ var ManagedProjectsBlock = ({
736
1065
  backgroundRepeat: "repeat"
737
1066
  }
738
1067
  }
739
- ), /* @__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) => {
740
1069
  const isLast = index === projects.length - 1;
741
- 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));
742
- 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));
743
1072
  }))));
744
1073
  };
745
1074
 
746
1075
  // src/components/ManagedNotFoundBlock.tsx
747
- var import_react23 = __toESM(require("react"));
1076
+ var import_react26 = __toESM(require("react"));
748
1077
  var import_link7 = __toESM(require("next/link"));
749
1078
  var ManagedNotFoundBlock = ({
750
1079
  title = "404 - Page Not Found",
@@ -752,15 +1081,15 @@ var ManagedNotFoundBlock = ({
752
1081
  backLinkText = "\u2190 Go back to Homepage",
753
1082
  backLinkHref = "/"
754
1083
  }) => {
755
- 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(
756
1085
  "svg",
757
1086
  {
758
1087
  xmlns: "http://www.w3.org/2000/svg",
759
1088
  viewBox: "0 0 24 24",
760
1089
  className: "w-12 h-12 fill-neutral-200"
761
1090
  },
762
- /* @__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" })
763
- )), /* @__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(
764
1093
  import_link7.default,
765
1094
  {
766
1095
  href: backLinkHref,
@@ -771,9 +1100,9 @@ var ManagedNotFoundBlock = ({
771
1100
  };
772
1101
 
773
1102
  // src/components/PageSpinner.tsx
774
- var import_react24 = __toESM(require("react"));
775
- var import_react25 = require("@hugeicons/react");
776
- 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");
777
1106
  var PageSpinner = ({
778
1107
  className = "",
779
1108
  iconClassName = "text-black",
@@ -781,10 +1110,10 @@ var PageSpinner = ({
781
1110
  }) => {
782
1111
  return (
783
1112
  // z-[100] ensures it sits above absolute headers and modals
784
- /* @__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(
785
- 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,
786
1115
  {
787
- icon: import_core_free_icons5.Loading03Icon,
1116
+ icon: import_core_free_icons6.Loading03Icon,
788
1117
  size,
789
1118
  className: `animate-spin mb-4 ${iconClassName}`
790
1119
  }
@@ -793,11 +1122,11 @@ var PageSpinner = ({
793
1122
  };
794
1123
 
795
1124
  // src/components/ManagedToaster.tsx
796
- var import_react26 = __toESM(require("react"));
797
- 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");
798
1127
  var ManagedToaster = (props) => {
799
- return /* @__PURE__ */ import_react26.default.createElement(
800
- import_react_hot_toast.Toaster,
1128
+ return /* @__PURE__ */ import_react29.default.createElement(
1129
+ import_react_hot_toast2.Toaster,
801
1130
  {
802
1131
  position: "top-right",
803
1132
  ...props,
@@ -831,7 +1160,7 @@ var ManagedToaster = (props) => {
831
1160
  };
832
1161
 
833
1162
  // src/components/ManagedNewsletterSplitBlock.tsx
834
- var import_react27 = __toESM(require("react"));
1163
+ var import_react30 = __toESM(require("react"));
835
1164
  var import_image6 = __toESM(require("next/image"));
836
1165
  var ManagedNewsletterSplitBlock = ({
837
1166
  tagline,
@@ -845,7 +1174,7 @@ var ManagedNewsletterSplitBlock = ({
845
1174
  ctaHref = "/contact-us",
846
1175
  children
847
1176
  }) => {
848
- 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(
849
1178
  import_image6.default,
850
1179
  {
851
1180
  src: imageSrc,
@@ -855,7 +1184,7 @@ var ManagedNewsletterSplitBlock = ({
855
1184
  className: "object-cover object-top grayscale opacity-60",
856
1185
  quality: 100
857
1186
  }
858
- ), /* @__PURE__ */ import_react27.default.createElement(
1187
+ ), /* @__PURE__ */ import_react30.default.createElement(
859
1188
  "div",
860
1189
  {
861
1190
  className: "absolute inset-0 z-10 pointer-events-none",
@@ -863,7 +1192,7 @@ var ManagedNewsletterSplitBlock = ({
863
1192
  background: "linear-gradient(to right, rgba(255,255,255,0) 30%, #ffffff 100%)"
864
1193
  }
865
1194
  }
866
- ), /* @__PURE__ */ import_react27.default.createElement(
1195
+ ), /* @__PURE__ */ import_react30.default.createElement(
867
1196
  "div",
868
1197
  {
869
1198
  className: "absolute inset-x-0 bottom-0 h-40 z-10 pointer-events-none",
@@ -871,7 +1200,7 @@ var ManagedNewsletterSplitBlock = ({
871
1200
  background: "linear-gradient(to bottom, rgba(255,255,255,0) 0%, #ffffff 100%)"
872
1201
  }
873
1202
  }
874
- )), /* @__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(
875
1204
  "div",
876
1205
  {
877
1206
  className: "absolute inset-0 pointer-events-none opacity-[0.03] z-0",
@@ -880,7 +1209,7 @@ var ManagedNewsletterSplitBlock = ({
880
1209
  backgroundRepeat: "repeat"
881
1210
  }
882
1211
  }
883
- ), /* @__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(
884
1213
  ThreeDButton,
885
1214
  {
886
1215
  href: ctaHref,
@@ -891,7 +1220,7 @@ var ManagedNewsletterSplitBlock = ({
891
1220
  };
892
1221
 
893
1222
  // src/components/ReusableInputs.tsx
894
- var import_react28 = __toESM(require("react"));
1223
+ var import_react31 = __toESM(require("react"));
895
1224
  var TextInput = ({
896
1225
  label,
897
1226
  value,
@@ -901,7 +1230,7 @@ var TextInput = ({
901
1230
  disabled,
902
1231
  readOnly,
903
1232
  onClick
904
- }) => /* @__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(
905
1234
  "input",
906
1235
  {
907
1236
  type: "text",
@@ -922,7 +1251,7 @@ var NumberInput = ({
922
1251
  placeholder,
923
1252
  maxLength,
924
1253
  disabled
925
- }) => /* @__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(
926
1255
  "input",
927
1256
  {
928
1257
  type: "text",
@@ -940,14 +1269,14 @@ var NumberInput = ({
940
1269
  ));
941
1270
 
942
1271
  // src/components/PortfolioHero.tsx
943
- var import_react29 = __toESM(require("react"));
1272
+ var import_react32 = __toESM(require("react"));
944
1273
  var import_link8 = __toESM(require("next/link"));
945
1274
  var import_image7 = __toESM(require("next/image"));
946
- var import_react30 = require("@hugeicons/react");
947
- 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");
948
1277
  var useScrollAnimation = () => {
949
- const elementRef = (0, import_react29.useRef)(null);
950
- (0, import_react29.useEffect)(() => {
1278
+ const elementRef = (0, import_react32.useRef)(null);
1279
+ (0, import_react32.useEffect)(() => {
951
1280
  const el = elementRef.current;
952
1281
  if (!el) return;
953
1282
  const observer = new IntersectionObserver(
@@ -983,13 +1312,13 @@ var PortfolioHero = ({
983
1312
  secondaryCtaHref
984
1313
  }) => {
985
1314
  const heroContentRef = useScrollAnimation();
986
- 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(
987
1316
  "div",
988
1317
  {
989
1318
  ref: heroContentRef,
990
1319
  className: "w-full opacity-0 translate-y-5 transition-all duration-1000 ease-out relative z-10"
991
1320
  },
992
- /* @__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(
993
1322
  import_image7.default,
994
1323
  {
995
1324
  src: imageSrc,
@@ -1000,7 +1329,7 @@ var PortfolioHero = ({
1000
1329
  sizes: "(max-width: 640px) 80px, 128px",
1001
1330
  quality: 100
1002
1331
  }
1003
- )), /* @__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(
1004
1333
  "a",
1005
1334
  {
1006
1335
  href: socialLinkHref,
@@ -1010,28 +1339,28 @@ var PortfolioHero = ({
1010
1339
  },
1011
1340
  socialLinkText
1012
1341
  ))),
1013
- /* @__PURE__ */ import_react29.default.createElement("p", { className: "text-[13px] md:text-[16px] leading-[1.8] max-w-4xl mb-12 text-neutral-600" }, bio),
1014
- /* @__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(
1015
1344
  ThreeDButton,
1016
1345
  {
1017
1346
  href: primaryCtaHref,
1018
1347
  className: "py-3 uppercase tracking-widest text-[11px]"
1019
1348
  },
1020
1349
  primaryCtaText
1021
- )), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ import_react29.default.createElement(
1350
+ )), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ import_react32.default.createElement(
1022
1351
  import_link8.default,
1023
1352
  {
1024
1353
  href: secondaryCtaHref,
1025
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"
1026
1355
  },
1027
1356
  secondaryCtaText,
1028
- /* @__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 })
1029
1358
  ))
1030
1359
  ));
1031
1360
  };
1032
1361
 
1033
1362
  // src/components/ProductHero.tsx
1034
- var import_react31 = __toESM(require("react"));
1363
+ var import_react34 = __toESM(require("react"));
1035
1364
  var import_link9 = __toESM(require("next/link"));
1036
1365
  var import_image8 = __toESM(require("next/image"));
1037
1366
  var ProductHero = ({
@@ -1045,14 +1374,14 @@ var ProductHero = ({
1045
1374
  secondaryCtaHref,
1046
1375
  images
1047
1376
  }) => {
1048
- const [currentIndex, setCurrentIndex] = (0, import_react31.useState)(0);
1049
- const nextSlide = (0, import_react31.useCallback)(() => {
1377
+ const [currentIndex, setCurrentIndex] = (0, import_react34.useState)(0);
1378
+ const nextSlide = (0, import_react34.useCallback)(() => {
1050
1379
  setCurrentIndex((prev) => (prev + 1) % images.length);
1051
1380
  }, [images.length]);
1052
- const prevSlide = (0, import_react31.useCallback)(() => {
1381
+ const prevSlide = (0, import_react34.useCallback)(() => {
1053
1382
  setCurrentIndex((prev) => (prev - 1 + images.length) % images.length);
1054
1383
  }, [images.length]);
1055
- (0, import_react31.useEffect)(() => {
1384
+ (0, import_react34.useEffect)(() => {
1056
1385
  const timer = setInterval(() => {
1057
1386
  nextSlide();
1058
1387
  }, 5e3);
@@ -1071,12 +1400,12 @@ var ProductHero = ({
1071
1400
  }
1072
1401
  return "opacity-0 z-0 scale-75 pointer-events-none";
1073
1402
  };
1074
- return /* @__PURE__ */ import_react31.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_react31.default.createElement(
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(
1075
1404
  "div",
1076
1405
  {
1077
1406
  className: "absolute inset-0 w-full h-full pointer-events-none z-0 bg-linear-to-b from-white via-white to-[#f5f5f5]"
1078
1407
  }
1079
- ), /* @__PURE__ */ import_react31.default.createElement(
1408
+ ), /* @__PURE__ */ import_react34.default.createElement(
1080
1409
  "div",
1081
1410
  {
1082
1411
  className: "absolute inset-0 w-full h-full pointer-events-none z-0 opacity-[0.3] mix-blend-overlay",
@@ -1084,14 +1413,14 @@ var ProductHero = ({
1084
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")`
1085
1414
  }
1086
1415
  }
1087
- ), /* @__PURE__ */ import_react31.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_react31.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_react31.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-600 uppercase font-medium" }, badgeText)), /* @__PURE__ */ import_react31.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_react31.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_react31.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_react31.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_react31.default.createElement("div", { className: "w-full sm:w-60 flex justify-center *:w-full" }, /* @__PURE__ */ import_react31.default.createElement(ThreeDButton, { href: ctaHref }, ctaText)), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ import_react31.default.createElement(
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(
1088
1417
  import_link9.default,
1089
1418
  {
1090
1419
  href: secondaryCtaHref,
1091
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"
1092
1421
  },
1093
1422
  secondaryCtaText
1094
- )), /* @__PURE__ */ import_react31.default.createElement("div", { className: "relative w-full max-w-4xl mx-auto px-2 sm:px-6 mt-8 z-20" }, /* @__PURE__ */ import_react31.default.createElement("div", { className: "relative w-full aspect-4/3 md:aspect-video flex items-center justify-center" }, /* @__PURE__ */ import_react31.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_react31.default.createElement("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ import_react31.default.createElement("path", { d: "M15 18l-6-6 6-6" }))), /* @__PURE__ */ import_react31.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_react31.default.createElement("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ import_react31.default.createElement("path", { d: "M9 18l6-6-6-6" }))), images.map((src, idx) => /* @__PURE__ */ import_react31.default.createElement(
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(
1095
1424
  "div",
1096
1425
  {
1097
1426
  key: idx,
@@ -1100,7 +1429,7 @@ var ProductHero = ({
1100
1429
  },
1101
1430
  className: `absolute inset-0 transition-all duration-700 ease-out transform ${getCarouselClasses(idx)}`
1102
1431
  },
1103
- /* @__PURE__ */ import_react31.default.createElement("div", { className: "relative w-full h-full rounded-2xl overflow-hidden shadow-xl" }, /* @__PURE__ */ import_react31.default.createElement(
1432
+ /* @__PURE__ */ import_react34.default.createElement("div", { className: "relative w-full h-full rounded-2xl overflow-hidden shadow-xl" }, /* @__PURE__ */ import_react34.default.createElement(
1104
1433
  import_image8.default,
1105
1434
  {
1106
1435
  src,
@@ -1111,14 +1440,14 @@ var ProductHero = ({
1111
1440
  priority: idx === 0
1112
1441
  }
1113
1442
  ))
1114
- )), /* @__PURE__ */ import_react31.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" })))));
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" })))));
1115
1444
  };
1116
1445
 
1117
1446
  // src/components/GifFeatureCard.tsx
1118
- var import_react32 = __toESM(require("react"));
1447
+ var import_react35 = __toESM(require("react"));
1119
1448
  var import_image9 = __toESM(require("next/image"));
1120
- var import_react33 = require("@hugeicons/react");
1121
- var import_core_free_icons7 = require("@hugeicons/core-free-icons");
1449
+ var import_react36 = require("@hugeicons/react");
1450
+ var import_core_free_icons8 = require("@hugeicons/core-free-icons");
1122
1451
  var GifFeatureCard = ({
1123
1452
  gifSrc,
1124
1453
  title,
@@ -1126,20 +1455,20 @@ var GifFeatureCard = ({
1126
1455
  alt = "Feature animation",
1127
1456
  className = "aspect-video"
1128
1457
  }) => {
1129
- const [isLoading, setIsLoading] = (0, import_react32.useState)(true);
1130
- return /* @__PURE__ */ import_react32.default.createElement("div", { className: `relative w-full bg-black overflow-hidden shadow-2xl ${className}` }, isLoading && /* @__PURE__ */ import_react32.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center z-20 bg-black" }, /* @__PURE__ */ import_react32.default.createElement(
1131
- import_react33.HugeiconsIcon,
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,
1132
1461
  {
1133
- icon: import_core_free_icons7.Loading03Icon,
1462
+ icon: import_core_free_icons8.Loading03Icon,
1134
1463
  size: 32,
1135
1464
  className: "animate-spin text-white"
1136
1465
  }
1137
- )), /* @__PURE__ */ import_react32.default.createElement(
1466
+ )), /* @__PURE__ */ import_react35.default.createElement(
1138
1467
  "div",
1139
1468
  {
1140
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"}`
1141
1470
  },
1142
- /* @__PURE__ */ import_react32.default.createElement(
1471
+ /* @__PURE__ */ import_react35.default.createElement(
1143
1472
  import_image9.default,
1144
1473
  {
1145
1474
  src: gifSrc,
@@ -1150,12 +1479,12 @@ var GifFeatureCard = ({
1150
1479
  className: "object-cover object-center pointer-events-none"
1151
1480
  }
1152
1481
  )
1153
- ), /* @__PURE__ */ import_react32.default.createElement(
1482
+ ), /* @__PURE__ */ import_react35.default.createElement(
1154
1483
  "div",
1155
1484
  {
1156
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"
1157
1486
  }
1158
- ), /* @__PURE__ */ import_react32.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_react32.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_react32.default.createElement("p", { className: "text-[13px] sm:text-[15px] leading-relaxed text-neutral-300 max-w-2xl drop-shadow-sm" }, subtitle)));
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)));
1159
1488
  };
1160
1489
  // Annotate the CommonJS export names for ESM import in node:
1161
1490
  0 && (module.exports = {
@@ -1181,5 +1510,7 @@ var GifFeatureCard = ({
1181
1510
  PortfolioHero,
1182
1511
  ProductHero,
1183
1512
  TextInput,
1184
- ThreeDButton
1513
+ ThreeDActionButton,
1514
+ ThreeDButton,
1515
+ ZairusAuth
1185
1516
  });