1/* @ds-bundle: {"format":4,"namespace":"GoldCareDesignSystem_520b26","components":[{"name":"Button","sourcePath":"components/actions/Button.jsx"},{"name":"IconButton","sourcePath":"components/actions/IconButton.jsx"},{"name":"Avatar","sourcePath":"components/data/Avatar.jsx"},{"name":"Card","sourcePath":"components/data/Card.jsx"},{"name":"StatsBand","sourcePath":"components/data/StatsBand.jsx"},{"name":"Alert","sourcePath":"components/feedback/Alert.jsx"},{"name":"Badge","sourcePath":"components/feedback/Badge.jsx"},{"name":"Modal","sourcePath":"components/feedback/Modal.jsx"},{"name":"Tooltip","sourcePath":"components/feedback/Tooltip.jsx"},{"name":"Checkbox","sourcePath":"components/forms/Checkbox.jsx"},{"name":"Input","sourcePath":"components/forms/Input.jsx"},{"name":"Radio","sourcePath":"components/forms/Radio.jsx"},{"name":"Select","sourcePath":"components/forms/Select.jsx"},{"name":"Switch","sourcePath":"components/forms/Switch.jsx"},{"name":"AnnouncementBar","sourcePath":"components/marketing/AnnouncementBar.jsx"},{"name":"EyebrowPill","sourcePath":"components/marketing/EyebrowPill.jsx"},{"name":"FAQ","sourcePath":"components/marketing/FAQ.jsx"},{"name":"FeatureCard","sourcePath":"components/marketing/FeatureCard.jsx"},{"name":"ShowcaseCard","sourcePath":"components/marketing/ShowcaseCard.jsx"},{"name":"Steps","sourcePath":"components/marketing/Steps.jsx"},{"name":"Testimonial","sourcePath":"components/marketing/Testimonial.jsx"},{"name":"SiteFooter","sourcePath":"components/navigation/SiteFooter.jsx"},{"name":"SiteHeader","sourcePath":"components/navigation/SiteHeader.jsx"},{"name":"StickyMobileCTA","sourcePath":"components/navigation/StickyMobileCTA.jsx"}],"sourceHashes":{"components/actions/Button.jsx":"90252c6315a8","components/actions/IconButton.jsx":"684665642038","components/data/Avatar.jsx":"70919db46c45","components/data/Card.jsx":"00f0bd703933","components/data/StatsBand.jsx":"28379fcf9dd2","components/feedback/Alert.jsx":"bd2cdf1aa47c","components/feedback/Badge.jsx":"9f4357469481","components/feedback/Modal.jsx":"fec4c2c04f4e","components/feedback/Tooltip.jsx":"8920cce107a4","components/forms/Checkbox.jsx":"994d337c7078","components/forms/Input.jsx":"8ad503c2d8cb","components/forms/Radio.jsx":"65249589f0ad","components/forms/Select.jsx":"ba90f33aefb2","components/forms/Switch.jsx":"847fd4b7f4f8","components/marketing/AnnouncementBar.jsx":"3848fcf693d9","components/marketing/EyebrowPill.jsx":"966d29e6ea04","components/marketing/FAQ.jsx":"fac688a932f8","components/marketing/FeatureCard.jsx":"bc15f484134d","components/marketing/ShowcaseCard.jsx":"9834e137ecc2","components/marketing/Steps.jsx":"32f3529e775b","components/marketing/Testimonial.jsx":"540816887291","components/navigation/SiteFooter.jsx":"31f855327dd5","components/navigation/SiteHeader.jsx":"5cf7dca0df12","components/navigation/StickyMobileCTA.jsx":"7d04d56c9e5d","ui_kits/marketing/GiftLanding.jsx":"0717b9af223c","ui_kits/portal/PortalHome.jsx":"56a5e3251bf9"},"inlinedExternals":[],"unexposedExports":[]} */ 2 3(() => { 4 5const __ds_ns = (window.GoldCareDesignSystem_520b26 = window.GoldCareDesignSystem_520b26 || {}); 6 7const __ds_scope = {}; 8 9(__ds_ns.__errors = __ds_ns.__errors || []); 10
11// components/actions/Button.jsx 12try { (() => { 13function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 14/** 15 * GoldCare Button â the primary action primitive. 16 * 17 * Signature: solid-ink primary on light; on a DARK section the primary inverts 18 * to the gold gradient with ink text. Weight 500, radius-lg (12px). Hover 19 * darkens on light / brightens on gold â never shrinks. Icons are Lucide names 20 * (`<i data-lucide>`); the host page must run `lucide.createIcons()` after render. 21 */ 22function Button({ 23 variant = 'primary', 24 size = 'md', 25 icon, 26 iconRight, 27 href, 28 fullWidth = false, 29 disabled = false, 30 onClick, 31 children, 32 style, 33 ...rest 34}) { 35 const heights = { 36 sm: 42, 37 md: 48, 38 lg: 54 39 }; 40 const pads = { 41 sm: '0 18px', 42 md: '0 22px', 43 lg: '0 28px' 44 }; 45 const fonts = { 46 sm: 14, 47 md: 15, 48 lg: 15 49 }; 50 const iconSize = size === 'sm' ? 16 : 18; 51 const base = { 52 display: 'inline-flex', 53 alignItems: 'center', 54 justifyContent: 'center', 55 gap: 9, 56 height: heights[size], 57 padding: pads[size], 58 borderRadius: 'var(--radius-lg)', 59 fontFamily: 'var(--font-sans)', 60 fontSize: fonts[size], 61 fontWeight: 'var(--fw-medium)', 62 lineHeight: 1.2, 63 letterSpacing: 0, 64 textDecoration: 'none', 65 cursor: disabled ? 'not-allowed' : 'pointer', 66 border: '1px solid transparent', 67 whiteSpace: 'nowrap', 68 width: fullWidth ? '100%' : 'auto', 69 transition: 'background var(--duration-fast) var(--easing-out), border-color var(--duration-fast) var(--easing-out), filter var(--duration-fast) var(--easing-out), transform var(--duration-fast) var(--easing-out)', 70 opacity: disabled ? 0.5 : 1 71 }; 72 const variants = { 73 primary: { 74 background: 'var(--brand-900)', 75 color: 'var(--text-inverse)', 76 borderColor: 'var(--brand-900)' 77 }, 78 secondary: { 79 background: 'var(--surface-card)', 80 color: 'var(--text-strong)', 81 borderColor: 'var(--border-primary)' 82 }, 83 ghost: { 84 background: 'transparent', 85 color: 'var(--text-secondary)', 86 borderColor: 'transparent' 87 }, 88 gold: { 89 background: 'var(--gold-gradient-btn)', 90 color: 'var(--brand-900)', 91 borderColor: 'transparent', 92 fontWeight: 'var(--fw-semibold)' 93 } 94 }; 95 const hoverFor = v => { 96 switch (v) { 97 case 'primary': 98 return { 99 background: 'var(--brand-700)', 100 borderColor: 'var(--brand-700)' 101 }; 102 case 'secondary': 103 return { 104 borderColor: 'var(--border-primary-hover)', 105 background: 'var(--bg-band)' 106 }; 107 case 'ghost': 108 return { 109 background: 'var(--surface-secondary)', 110 color: 'var(--text-primary)' 111 }; 112 case 'gold': 113 return { 114 filter: 'brightness(1.06)', 115 transform: 'translateY(-1px)' 116 }; 117 default: 118 return {}; 119 } 120 }; 121 const styleObj = { 122 ...base, 123 ...variants[variant], 124 ...style 125 }; 126 const enter = e => { 127 if (!disabled) Object.assign(e.currentTarget.style, hoverFor(variant)); 128 }; 129 const leave = e => { 130 if (!disabled) Object.assign(e.currentTarget.style, { 131 ...variants[variant], 132 filter: 'none', 133 transform: 'none', 134 background: variants[variant].background 135 }); 136 }; 137 const inner = /*#__PURE__*/React.createElement(React.Fragment, null, icon && /*#__PURE__*/React.createElement("i", { 138 "data-lucide": icon, 139 style: { 140 width: iconSize, 141 height: iconSize 142 } 143 }), children, iconRight && /*#__PURE__*/React.createElement("i", { 144 "data-lucide": iconRight, 145 style: { 146 width: iconSize, 147 height: iconSize 148 } 149 })); 150 if (href && !disabled) { 151 return /*#__PURE__*/React.createElement("a", _extends({ 152 href: href, 153 style: styleObj, 154 onMouseEnter: enter, 155 onMouseLeave: leave 156 }, rest), inner); 157 } 158 return /*#__PURE__*/React.createElement("button", _extends({ 159 type: "button", 160 style: styleObj, 161 disabled: disabled, 162 onClick: onClick, 163 onMouseEnter: enter, 164 onMouseLeave: leave 165 }, rest), inner); 166} 167Object.assign(__ds_scope, { Button }); 168})(); }
168 catch (e) { __ds_ns.__errors.push({ path: "components/actions/Button.jsx", error: String((e && e.message) || e) }); } 169
170// components/actions/IconButton.jsx 171try { (() => { 172function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 173/** 174 * GoldCare IconButton â a square/circular button carrying a single Lucide glyph. 175 * Used for header actions, social links (circular outline), and compact controls. 176 * Icons are Lucide names; host page must run `lucide.createIcons()` after render. 177 */ 178function IconButton({ 179 icon, 180 variant = 'ghost', 181 size = 'md', 182 shape = 'rounded', 183 disabled = false, 184 onClick, 185 href, 186 ariaLabel, 187 style, 188 ...rest 189}) { 190 const dims = { 191 sm: 34, 192 md: 40, 193 lg: 46 194 }; 195 const glyphs = { 196 sm: 16, 197 md: 18, 198 lg: 20 199 }; 200 const d = dims[size]; 201 const base = { 202 display: 'inline-flex', 203 alignItems: 'center', 204 justifyContent: 'center', 205 width: d, 206 height: d, 207 flexShrink: 0, 208 borderRadius: shape === 'circle' ? 'var(--radius-pill)' : 'var(--radius-md)', 209 cursor: disabled ? 'not-allowed' : 'pointer', 210 border: '1px solid transparent', 211 textDecoration: 'none', 212 transition: 'background var(--duration-fast) var(--easing-out), border-color var(--duration-fast) var(--easing-out), color var(--duration-fast) var(--easing-out)', 213 opacity: disabled ? 0.5 : 1 214 }; 215 const variants = { 216 ghost: { 217 background: 'transparent', 218 color: 'var(--text-secondary)', 219 borderColor: 'transparent' 220 }, 221 outline: { 222 background: 'var(--surface-card)', 223 color: 'var(--text-strong)', 224 borderColor: 'var(--border-primary)' 225 }, 226 solid: { 227 background: 'var(--brand-900)', 228 color: 'var(--text-inverse)', 229 borderColor: 'var(--brand-900)' 230 } 231 }; 232 const hover = { 233 ghost: { 234 background: 'var(--surface-secondary)', 235 color: 'var(--text-primary)' 236 }, 237 outline: { 238 background: 'var(--bg-band)', 239 borderColor: 'var(--border-primary-hover)' 240 }, 241 solid: { 242 background: 'var(--brand-700)', 243 borderColor: 'var(--brand-700)' 244 } 245 }; 246 const styleObj = { 247 ...base, 248 ...variants[variant], 249 ...style 250 }; 251 const enter = e => { 252 if (!disabled) Object.assign(e.currentTarget.style, hover[variant]); 253 }; 254 const leave = e => { 255 if (!disabled) Object.assign(e.currentTarget.style, variants[variant]); 256 }; 257 const glyph = /*#__PURE__*/React.createElement("i", { 258 "data-lucide": icon, 259 style: { 260 width: glyphs[size], 261 height: glyphs[size] 262 } 263 }); 264 if (href && !disabled) { 265 return /*#__PURE__*/React.createElement("a", _extends({ 266 href: href, 267 "aria-label": ariaLabel, 268 style: styleObj, 269 onMouseEnter: enter, 270 onMouseLeave: leave 271 }, rest), glyph); 272 } 273 return /*#__PURE__*/React.createElement("button", _extends({ 274 type: "button", 275 "aria-label": ariaLabel, 276 disabled: disabled, 277 onClick: onClick, 278 style: styleObj, 279 onMouseEnter: enter, 280 onMouseLeave: leave 281 }, rest), glyph); 282} 283Object.assign(__ds_scope, { IconButton }); 284})(); } catch (e) { __ds_ns.__errors.push({ path: "components/actions/IconButton.jsx", error: String((e && e.message) || e) }); } 285
286// components/data/Avatar.jsx 287try { (() => { 288function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 289/** 290 * GoldCare Avatar â circular. Shows a photo when `src` is given, otherwise 291 * initials on a gold-gradient monogram (the testimonial/monogram treatment). 292 */ 293function Avatar({ 294 src, 295 name = '', 296 size = 40, 297 gold = true, 298 style, 299 ...rest 300}) { 301 const initials = name.split(/\s+/).filter(Boolean).slice(0, 2).map(w => w[0]).join('').toUpperCase(); 302 const fontSize = Math.round(size * 0.34); 303 const base = { 304 display: 'inline-flex', 305 alignItems: 'center', 306 justifyContent: 'center', 307 width: size, 308 height: size, 309 flexShrink: 0, 310 borderRadius: 'var(--radius-pill)', 311 overflow: 'hidden', 312 fontFamily: 'var(--font-sans)', 313 ...style 314 }; 315 if (src) { 316 return /*#__PURE__*/React.createElement("span", _extends({ 317 style: base 318 }, rest), /*#__PURE__*/React.createElement("img", { 319 src: src, 320 alt: name, 321 style: { 322 width: '100%', 323 height: '100%', 324 objectFit: 'cover', 325 display: 'block' 326 } 327 })); 328 } 329 return /*#__PURE__*/React.createElement("span", _extends({ 330 style: { 331 ...base, 332 background: gold ? 'var(--gold-gradient-icon)' : 'var(--surface-secondary)', 333 color: gold ? 'var(--white)' : 'var(--text-secondary)', 334 fontSize, 335 fontWeight: 600, 336 letterSpacing: 0.2 337 } 338 }, rest), initials || 'â'); 339} 340Object.assign(__ds_scope, { Avatar }); 341})(); } catch (e) { __ds_ns.__errors.push({ path: "components/data/Avatar.jsx", error: String((e && e.message) || e) }); } 342
343// components/data/Card.jsx 344try { (() => { 345function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 346/** 347 * GoldCare Card â the flat surface primitive. Off-white, 1px border, radius-xl, 348 * NO shadow by default (elevation = border + surface). Variants: 349 * - default: standard flat card 350 * - band: listing surface (muted band bg, subtle border) 351 * - elevated: soft shadow (the one exception for a lifted card) 352 * - showcase: the offer/pricing card â radius-3xl + gold-glow shadow 353 * Never stack multiple shadows. 354 */ 355function Card({ 356 variant = 'default', 357 padding = 24, 358 children, 359 style, 360 ...rest 361}) { 362 const variants = { 363 default: { 364 background: 'var(--surface-card)', 365 border: '1px solid var(--border-card)', 366 borderRadius: 'var(--radius-xl)', 367 boxShadow: 'none' 368 }, 369 band: { 370 background: 'var(--bg-band)', 371 border: '1px solid var(--border-secondary)', 372 borderRadius: 'var(--radius-xl)', 373 boxShadow: 'none' 374 }, 375 elevated: { 376 background: 'var(--surface-card)', 377 border: '1px solid var(--border-secondary)', 378 borderRadius: 'var(--radius-xl)', 379 boxShadow: 'var(--shadow-card-soft)' 380 }, 381 showcase: { 382 background: 'var(--surface-card)', 383 border: '1px solid var(--border-card)', 384 borderRadius: 'var(--radius-3xl)', 385 boxShadow: 'var(--shadow-showcase)' 386 } 387 }; 388 return /*#__PURE__*/React.createElement("div", _extends({ 389 style: { 390 fontFamily: 'var(--font-sans)', 391 padding, 392 ...variants[variant], 393 ...style 394 } 395 }, rest), children); 396} 397Object.assign(__ds_scope, { Card }); 398})(); } catch (e) { __ds_ns.__errors.push({ path: "components/data/Card.jsx", error: String((e && e.message) || e) }); } 399
400// components/data/StatsBand.jsx 401try { (() => { 402function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 403/** 404 * GoldCare StatsBand â a single bordered row split into columns by 1px 405 * dividers. Big number (weight 500, tight tracking) over a small grey label. 406 * A star can be appended to a stat via `{ value, label, star: true }`. 407 */ 408function StatsBand({ 409 stats = [], 410 style, 411 ...rest 412}) { 413 return /*#__PURE__*/React.createElement("div", _extends({ 414 style: { 415 display: 'grid', 416 gridTemplateColumns: `repeat(auto-fit, minmax(min(180px, 100%), 1fr))`, 417 border: '1px solid var(--border-secondary)', 418 borderRadius: 'var(--radius-xl)', 419 background: 'var(--surface-card)', 420 overflow: 'hidden', 421 fontFamily: 'var(--font-sans)', 422 ...style 423 } 424 }, rest), stats.map((s, i) => /*#__PURE__*/React.createElement("div", { 425 key: i, 426 style: { 427 padding: '22px 26px', 428 borderRight: i < stats.length - 1 ? '1px solid var(--border-secondary)' : 'none' 429 } 430 }, /*#__PURE__*/React.createElement("div", { 431 style: { 432 display: 'flex', 433 alignItems: 'center', 434 gap: 7 435 } 436 }, /*#__PURE__*/React.createElement("span", { 437 style: { 438 fontSize: 'clamp(24px, 2.4vw, 30px)', 439 fontWeight: 500, 440 letterSpacing: '-0.02em', 441 color: 'var(--text-primary)' 442 } 443 }, s.value), s.star && /*#__PURE__*/React.createElement("svg", { 444 viewBox: "0 0 24 24", 445 width: "18", 446 height: "18", 447 fill: "var(--gold-primary)" 448 }, /*#__PURE__*/React.createElement("path", { 449 d: "M12 2l2.9 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l7.1-1.01z" 450 }))), /*#__PURE__*/React.createElement("div", { 451 style: { 452 fontSize: 13, 453 color: 'var(--text-secondary)', 454 marginTop: 3 455 } 456 }, s.label)))); 457} 458Object.assign(__ds_scope, { StatsBand }); 459})(); } catch (e) { __ds_ns.__errors.push({ path: "components/data/StatsBand.jsx", error: String((e && e.message) || e) }); } 460
461// components/feedback/Alert.jsx 462try { (() => { 463function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 464/** 465 * GoldCare Alert â an inline status message. Desaturated clinic-safe surface + 466 * matching border and a Lucide status icon. For badges/alerts only; never 467 * decoration. Host page must run `lucide.createIcons()`. 468 */ 469function Alert({ 470 tone = 'info', 471 title, 472 children, 473 icon, 474 onClose, 475 style, 476 ...rest 477}) { 478 const tones = { 479 success: { 480 surface: 'var(--success-surface)', 481 border: 'var(--success-border)', 482 text: 'var(--success-text)', 483 icon: 'check-circle-2' 484 }, 485 warning: { 486 surface: 'var(--warning-surface)', 487 border: 'var(--warning-border)', 488 text: 'var(--warning-text)', 489 icon: 'alert-triangle' 490 }, 491 error: { 492 surface: 'var(--error-surface)', 493 border: 'var(--error-border)', 494 text: 'var(--error-text)', 495 icon: 'alert-circle' 496 }, 497 info: { 498 surface: 'var(--info-surface)', 499 border: 'var(--info-border)', 500 text: 'var(--info-text)', 501 icon: 'info' 502 } 503 }; 504 const t = tones[tone] || tones.info; 505 return /*#__PURE__*/React.createElement("div", _extends({ 506 role: "alert", 507 style: { 508 display: 'flex', 509 alignItems: 'flex-start', 510 gap: 12, 511 padding: '14px 16px', 512 borderRadius: 'var(--radius-lg)', 513 background: t.surface, 514 border: `1px solid ${t.border}`, 515 fontFamily: 'var(--font-sans)', 516 ...style 517 } 518 }, rest), /*#__PURE__*/React.createElement("i", { 519 "data-lucide": icon || t.icon, 520 style: { 521 width: 19, 522 height: 19, 523 color: t.text, 524 flexShrink: 0, 525 marginTop: 1 526 } 527 }), /*#__PURE__*/React.createElement("div", { 528 style: { 529 flex: 1, 530 minWidth: 0 531 } 532 }, title && /*#__PURE__*/React.createElement("div", { 533 style: { 534 fontSize: 14, 535 fontWeight: 600, 536 color: t.text, 537 marginBottom: children ? 3 : 0 538 } 539 }, title), children && /*#__PURE__*/React.createElement("div", { 540 style: { 541 fontSize: 13.5, 542 lineHeight: 1.5, 543 color: t.text, 544 opacity: 0.92 545 } 546 }, children)), onClose && /*#__PURE__*/React.createElement("button", { 547 type: "button", 548 onClick: onClose, 549 "aria-label": "Dismiss", 550 style: { 551 border: 'none', 552 background: 'transparent', 553 cursor: 'pointer', 554 color: t.text, 555 display: 'inline-flex', 556 padding: 2, 557 opacity: 0.7 558 } 559 }, /*#__PURE__*/React.createElement("i", { 560 "data-lucide": "x", 561 style: { 562 width: 16, 563 height: 16 564 } 565 }))); 566} 567Object.assign(__ds_scope, { Alert }); 568})(); } catch (e) { __ds_ns.__errors.push({ path: "components/feedback/Alert.jsx", error: String((e && e.message) || e) }); } 569
570// components/feedback/Badge.jsx 571try { (() => { 572function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 573/** 574 * GoldCare Badge â a compact status pill. Semantic tones use the desaturated 575 * clinic-safe surfaces; `gold` uses the gradient; `neutral` is the default 576 * ink-on-grey chip. Optional Lucide leading icon or a leading dot. 577 */ 578function Badge({ 579 children, 580 tone = 'neutral', 581 icon, 582 dot = false, 583 style, 584 ...rest 585}) { 586 const tones = { 587 neutral: { 588 background: 'var(--surface-secondary)', 589 color: 'var(--text-strong)', 590 border: 'transparent' 591 }, 592 gold: { 593 background: 'var(--gold-gradient-btn)', 594 color: 'var(--brand-900)', 595 border: 'transparent' 596 }, 597 goldSoft: { 598 background: 'var(--gold-pill-bg)', 599 color: 'var(--text-gold)', 600 border: 'transparent' 601 }, 602 success: { 603 background: 'var(--success-surface)', 604 color: 'var(--success-text)', 605 border: 'transparent' 606 }, 607 warning: { 608 background: 'var(--warning-surface)', 609 color: 'var(--warning-text)', 610 border: 'transparent' 611 }, 612 error: { 613 background: 'var(--error-surface)', 614 color: 'var(--error-text)', 615 border: 'transparent' 616 }, 617 info: { 618 background: 'var(--info-surface)', 619 color: 'var(--info-text)', 620 border: 'transparent' 621 } 622 }; 623 const t = tones[tone] || tones.neutral; 624 const dotColor = tone === 'success' ? 'var(--success-solid)' : tone === 'warning' ? 'var(--warning-solid)' : tone === 'error' ? 'var(--error-solid)' : tone === 'info' ? 'var(--info-solid)' : tone === 'gold' || tone === 'goldSoft' ? 'var(--gold-primary)' : 'var(--text-tertiary)'; 625 return /*#__PURE__*/React.createElement("span", _extends({ 626 style: { 627 display: 'inline-flex', 628 alignItems: 'center', 629 gap: 6, 630 padding: '4px 10px', 631 borderRadius: 'var(--radius-pill)', 632 background: t.background, 633 color: t.color, 634 border: `1px solid ${t.border}`, 635 fontFamily: 'var(--font-sans)', 636 fontSize: 12, 637 fontWeight: 600, 638 lineHeight: 1.4, 639 letterSpacing: 0.1, 640 whiteSpace: 'nowrap', 641 ...style 642 } 643 }, rest), dot && /*#__PURE__*/React.createElement("span", { 644 style: { 645 width: 6, 646 height: 6, 647 borderRadius: 'var(--radius-pill)', 648 background: dotColor, 649 flexShrink: 0 650 } 651 }), icon && /*#__PURE__*/React.createElement("i", { 652 "data-lucide": icon, 653 style: { 654 width: 13, 655 height: 13 656 } 657 }), children); 658} 659Object.assign(__ds_scope, { Badge }); 660})(); } catch (e) { __ds_ns.__errors.push({ path: "components/feedback/Badge.jsx", error: String((e && e.message) || e) }); } 661
662// components/feedback/Modal.jsx 663try { (() => { 664/** 665 * GoldCare Modal â centered dialog over a dim scrim. Flat white surface, 666 * radius-2xl, subtle border + soft shadow. Optional Lucide close button. 667 * Controlled via `open` / `onClose`. 668 */ 669function Modal({ 670 open, 671 onClose, 672 title, 673 children, 674 footer, 675 width = 460, 676 style 677}) { 678 React.useEffect(() => { 679 if (!open) return; 680 const onKey = e => { 681 if (e.key === 'Escape') onClose && onClose(); 682 }; 683 window.addEventListener('keydown', onKey); 684 return () => window.removeEventListener('keydown', onKey); 685 }, [open, onClose]); 686 if (!open) return null; 687 return /*#__PURE__*/React.createElement("div", { 688 onClick: onClose, 689 style: { 690 position: 'fixed', 691 inset: 0, 692 zIndex: 'var(--z-modal)', 693 display: 'flex', 694 alignItems: 'center', 695 justifyContent: 'center', 696 padding: 20, 697 background: 'rgba(12,12,13,0.5)' 698 } 699 }, /*#__PURE__*/React.createElement("div", { 700 role: "dialog", 701 "aria-modal": "true", 702 onClick: e => e.stopPropagation(), 703 style: { 704 width: '100%', 705 maxWidth: width, 706 background: 'var(--surface-card)', 707 border: '1px solid var(--border-card)', 708 borderRadius: 'var(--radius-2xl)', 709 boxShadow: 'var(--shadow-card-soft)', 710 fontFamily: 'var(--font-sans)', 711 overflow: 'hidden', 712 ...style 713 } 714 }, /*#__PURE__*/React.createElement("div", { 715 style: { 716 display: 'flex', 717 alignItems: 'flex-start', 718 justifyContent: 'space-between', 719 gap: 16, 720 padding: '22px 24px 0' 721 } 722 }, title && /*#__PURE__*/React.createElement("h3", { 723 style: { 724 margin: 0, 725 fontSize: 19, 726 fontWeight: 600, 727 letterSpacing: '-0.01em', 728 color: 'var(--text-primary)' 729 } 730 }, title), onClose && /*#__PURE__*/React.createElement("button", { 731 type: "button", 732 onClick: onClose, 733 "aria-label": "Close", 734 style: { 735 border: 'none', 736 background: 'transparent', 737 cursor: 'pointer', 738 color: 'var(--text-tertiary)', 739 display: 'inline-flex', 740 padding: 4, 741 marginTop: -2, 742 marginRight: -4 743 } 744 }, /*#__PURE__*/React.createElement("i", { 745 "data-lucide": "x", 746 style: { 747 width: 18, 748 height: 18 749 } 750 }))), /*#__PURE__*/React.createElement("div", { 751 style: { 752 padding: '12px 24px 22px', 753 fontSize: 14, 754 lineHeight: 1.55, 755 color: 'var(--text-secondary)' 756 } 757 }, children), footer && /*#__PURE__*/React.createElement("div", { 758 style: { 759 display: 'flex', 760 justifyContent: 'flex-end', 761 gap: 10, 762 padding: '16px 24px', 763 borderTop: '1px solid var(--border-secondary)' 764 } 765 }, footer))); 766} 767Object.assign(__ds_scope, { Modal }); 768})(); } catch (e) { __ds_ns.__errors.push({ path: "components/feedback/Modal.jsx", error: String((e && e.message) || e) }); } 769
770// components/feedback/Tooltip.jsx 771try { (() => { 772/** 773 * GoldCare Tooltip â a small ink label on hover/focus. Dark surface, white 774 * text, radius-md. Wrap any trigger element; `label` is the tip text. 775 */ 776function Tooltip({ 777 label, 778 placement = 'top', 779 children, 780 style 781}) { 782 const [open, setOpen] = React.useState(false); 783 const pos = { 784 top: { 785 bottom: '100%', 786 left: '50%', 787 transform: 'translateX(-50%)', 788 marginBottom: 8 789 }, 790 bottom: { 791 top: '100%', 792 left: '50%', 793 transform: 'translateX(-50%)', 794 marginTop: 8 795 }, 796 left: { 797 right: '100%', 798 top: '50%', 799 transform: 'translateY(-50%)', 800 marginRight: 8 801 }, 802 right: { 803 left: '100%', 804 top: '50%', 805 transform: 'translateY(-50%)', 806 marginLeft: 8 807 } 808 }; 809 return /*#__PURE__*/React.createElement("span", { 810 style: { 811 position: 'relative', 812 display: 'inline-flex', 813 ...style 814 }, 815 onMouseEnter: () => setOpen(true), 816 onMouseLeave: () => setOpen(false), 817 onFocus: () => setOpen(true),
818 onBlur: () => setOpen(false) 819 }, children, /*#__PURE__*/React.createElement("span", { 820 role: "tooltip", 821 style: { 822 position: 'absolute', 823 zIndex: 'var(--z-tooltip)', 824 ...pos[placement], 825 background: 'var(--brand-900)', 826 color: 'var(--text-inverse)', 827 fontFamily: 'var(--font-sans)', 828 fontSize: 12.5, 829 fontWeight: 500, 830 lineHeight: 1.35, 831 padding: '7px 10px', 832 borderRadius: 'var(--radius-md)', 833 whiteSpace: 'nowrap', 834 boxShadow: '0 6px 20px -6px rgba(12,12,13,0.4)', 835 opacity: open ? 1 : 0, 836 pointerEvents: 'none', 837 transition: 'opacity var(--duration-fast) var(--easing-out)' 838 } 839 }, label)); 840} 841Object.assign(__ds_scope, { Tooltip }); 842})(); } catch (e) { __ds_ns.__errors.push({ path: "components/feedback/Tooltip.jsx", error: String((e && e.message) || e) }); } 843
844// components/forms/Checkbox.jsx 845try { (() => { 846function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 847/** 848 * GoldCare Checkbox â square control. Checked fills with ink (or gold when 849 * `accent="gold"`). Calm 150ms transitions. 850 */ 851function Checkbox({ 852 label, 853 checked, 854 defaultChecked, 855 disabled = false, 856 accent = 'ink', 857 onChange, 858 id, 859 style, 860 ...rest 861}) { 862 const [internal, setInternal] = React.useState(!!defaultChecked); 863 const isControlled = checked !== undefined; 864 const on = isControlled ? checked : internal; 865 const toggle = e => { 866 if (disabled) return; 867 if (!isControlled) setInternal(e.target.checked); 868 onChange && onChange(e); 869 }; 870 const fill = accent === 'gold' ? 'var(--gold-gradient-btn)' : 'var(--brand-900)'; 871 return /*#__PURE__*/React.createElement("label", { 872 style: { 873 display: 'inline-flex', 874 alignItems: 'center', 875 gap: 10, 876 cursor: disabled ? 'not-allowed' : 'pointer', 877 opacity: disabled ? 0.55 : 1, 878 ...style 879 } 880 }, /*#__PURE__*/React.createElement("input", _extends({ 881 id: id, 882 type: "checkbox", 883 checked: on, 884 onChange: toggle, 885 disabled: disabled, 886 style: { 887 position: 'absolute', 888 opacity: 0, 889 width: 0, 890 height: 0 891 } 892 }, rest)), /*#__PURE__*/React.createElement("span", { 893 style: { 894 display: 'inline-flex', 895 alignItems: 'center', 896 justifyContent: 'center', 897 width: 20, 898 height: 20, 899 flexShrink: 0, 900 borderRadius: 5, 901 background: on ? fill : 'var(--surface-card)', 902 border: `1px solid ${on ? 'transparent' : 'var(--border-primary)'}`, 903 color: accent === 'gold' ? 'var(--brand-900)' : 'var(--text-inverse)', 904 transition: 'background var(--duration-fast) var(--easing-out), border-color var(--duration-fast) var(--easing-out)' 905 } 906 }, on && /*#__PURE__*/React.createElement("svg", { 907 viewBox: "0 0 24 24", 908 width: "13", 909 height: "13", 910 fill: "none", 911 stroke: "currentColor", 912 strokeWidth: "3", 913 strokeLinecap: "round", 914 strokeLinejoin: "round" 915 }, /*#__PURE__*/React.createElement("path", { 916 d: "M20 6L9 17l-5-5" 917 }))), label && /*#__PURE__*/React.createElement("span", { 918 style: { 919 fontSize: 14, 920 color: 'var(--text-strong)' 921 } 922 }, label)); 923} 924Object.assign(__ds_scope, { Checkbox }); 925})(); } catch (e) { __ds_ns.__errors.push({ path: "components/forms/Checkbox.jsx", error: String((e && e.message) || e) }); } 926
927// components/forms/Input.jsx 928try { (() => { 929function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 930/** 931 * GoldCare Input â text field. Off-white fill, 1px border, radius-sm. 932 * Border darkens on hover, goes info-blue on focus, error-red when invalid. 933 * Optional Lucide leading icon; host page must run `lucide.createIcons()`. 934 */ 935function Input({ 936 label, 937 hint, 938 error, 939 icon, 940 type = 'text', 941 placeholder, 942 value, 943 defaultValue, 944 disabled = false, 945 onChange, 946 id, 947 style, 948 ...rest 949}) { 950 const [focus, setFocus] = React.useState(false); 951 const borderColor = error ? 'var(--error-border)' : focus ? 'var(--border-focus)' : 'var(--border-primary)'; 952 return /*#__PURE__*/React.createElement("label", { 953 style: { 954 display: 'block', 955 ...style 956 } 957 }, label && /*#__PURE__*/React.createElement("span", { 958 style: { 959 display: 'block', 960 fontSize: 13, 961 fontWeight: 600, 962 color: 'var(--text-strong)', 963 marginBottom: 7 964 } 965 }, label), /*#__PURE__*/React.createElement("span", { 966 style: { 967 display: 'flex', 968 alignItems: 'center', 969 gap: 9, 970 background: disabled ? 'var(--surface-secondary)' : 'var(--surface-card)', 971 border: `1px solid ${borderColor}`, 972 boxShadow: focus && !error ? '0 0 0 3px rgba(66,153,225,0.25)' : 'none', 973 borderRadius: 'var(--radius-sm)', 974 padding: '0 12px', 975 height: 44, 976 transition: 'border-color var(--duration-fast) var(--easing-out), box-shadow var(--duration-fast) var(--easing-out)', 977 opacity: disabled ? 0.6 : 1 978 } 979 }, icon && /*#__PURE__*/React.createElement("i", { 980 "data-lucide": icon, 981 style: { 982 width: 17, 983 height: 17, 984 color: 'var(--text-tertiary)', 985 flexShrink: 0 986 } 987 }), /*#__PURE__*/React.createElement("input", _extends({ 988 id: id, 989 type: type, 990 placeholder: placeholder, 991 value: value, 992 defaultValue: defaultValue, 993 disabled: disabled, 994 onChange: onChange, 995 onFocus: () => setFocus(true),
996 onBlur: () => setFocus(false), 997 style: { 998 flex: 1, 999 minWidth: 0, 1000 border: 'none', 1001 outline: 'none', 1002 background: 'transparent', 1003 fontFamily: 'var(--font-sans)', 1004 fontSize: 14, 1005 color: 'var(--text-primary)', 1006 height: '100%' 1007 } 1008 }, rest))), (hint || error) && /*#__PURE__*/React.createElement("span", { 1009 style: { 1010 display: 'block', 1011 fontSize: 12.5, 1012 marginTop: 6, 1013 color: error ? 'var(--error-text)' : 'var(--text-tertiary)' 1014 } 1015 }, error || hint)); 1016} 1017Object.assign(__ds_scope, { Input }); 1018})(); } catch (e) { __ds_ns.__errors.push({ path: "components/forms/Input.jsx", error: String((e && e.message) || e) }); } 1019
1020// components/forms/Radio.jsx 1021try { (() => { 1022function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 1023/** 1024 * GoldCare Radio â circular single-choice control. Selected shows an ink (or 1025 * gold) dot inside a ring. Use inside a group sharing one `name`. 1026 */ 1027function Radio({ 1028 label, 1029 name, 1030 value, 1031 checked, 1032 defaultChecked, 1033 disabled = false, 1034 accent = 'ink', 1035 onChange, 1036 id, 1037 style, 1038 ...rest 1039}) { 1040 const [internal, setInternal] = React.useState(!!defaultChecked); 1041 const isControlled = checked !== undefined; 1042 const on = isControlled ? checked : internal; 1043 const toggle = e => { 1044 if (disabled) return; 1045 if (!isControlled) setInternal(true); 1046 onChange && onChange(e); 1047 }; 1048 const dot = accent === 'gold' ? 'var(--gold-deep)' : 'var(--brand-900)'; 1049 return /*#__PURE__*/React.createElement("label", { 1050 style: { 1051 display: 'inline-flex', 1052 alignItems: 'center', 1053 gap: 10, 1054 cursor: disabled ? 'not-allowed' : 'pointer', 1055 opacity: disabled ? 0.55 : 1, 1056 ...style 1057 } 1058 }, /*#__PURE__*/React.createElement("input", _extends({ 1059 id: id, 1060 type: "radio", 1061 name: name, 1062 value: value, 1063 checked: on, 1064 onChange: toggle, 1065 disabled: disabled, 1066 style: { 1067 position: 'absolute', 1068 opacity: 0, 1069 width: 0, 1070 height: 0 1071 } 1072 }, rest)), /*#__PURE__*/React.createElement("span", { 1073 style: { 1074 display: 'inline-flex', 1075 alignItems: 'center', 1076 justifyContent: 'center', 1077 width: 20, 1078 height: 20, 1079 flexShrink: 0, 1080 borderRadius: 'var(--radius-pill)', 1081 background: 'var(--surface-card)', 1082 border: `1px solid ${on ? dot : 'var(--border-primary)'}`, 1083 transition: 'border-color var(--duration-fast) var(--easing-out)' 1084 } 1085 }, /*#__PURE__*/React.createElement("span", { 1086 style: { 1087 width: 10, 1088 height: 10, 1089 borderRadius: 'var(--radius-pill)', 1090 background: dot, 1091 transform: on ? 'scale(1)' : 'scale(0)', 1092 transition: 'transform var(--duration-fast) var(--easing-out)' 1093 } 1094 })), label && /*#__PURE__*/React.createElement("span", { 1095 style: { 1096 fontSize: 14, 1097 color: 'var(--text-strong)' 1098 } 1099 }, label)); 1100} 1101Object.assign(__ds_scope, { Radio }); 1102})(); } catch (e) { __ds_ns.__errors.push({ path: "components/forms/Radio.jsx", error: String((e && e.message) || e) }); } 1103
1104// components/forms/Select.jsx 1105try { (() => { 1106function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 1107/** 1108 * GoldCare Select â a styled native <select>. Matches Input geometry 1109 * (off-white fill, 1px border, radius-sm) with a Lucide chevron. 1110 */ 1111function Select({ 1112 label, 1113 hint, 1114 error, 1115 value, 1116 defaultValue, 1117 disabled = false, 1118 onChange, 1119 options = [], 1120 placeholder, 1121 id, 1122 style, 1123 ...rest 1124}) { 1125 const [focus, setFocus] = React.useState(false); 1126 const borderColor = error ? 'var(--error-border)' : focus ? 'var(--border-focus)' : 'var(--border-primary)'; 1127 return /*#__PURE__*/React.createElement("label", { 1128 style: { 1129 display: 'block', 1130 ...style 1131 } 1132 }, label && /*#__PURE__*/React.createElement("span", { 1133 style: { 1134 display: 'block', 1135 fontSize: 13, 1136 fontWeight: 600, 1137 color: 'var(--text-strong)', 1138 marginBottom: 7 1139 } 1140 }, label), /*#__PURE__*/React.createElement("span", { 1141 style: { 1142 position: 'relative', 1143 display: 'block', 1144 background: disabled ? 'var(--surface-secondary)' : 'var(--surface-card)', 1145 border: `1px solid ${borderColor}`, 1146 boxShadow: focus && !error ? '0 0 0 3px rgba(66,153,225,0.25)' : 'none', 1147 borderRadius: 'var(--radius-sm)', 1148 transition: 'border-color var(--duration-fast) var(--easing-out), box-shadow var(--duration-fast) var(--easing-out)', 1149 opacity: disabled ? 0.6 : 1 1150 } 1151 }, /*#__PURE__*/React.createElement("select", _extends({ 1152 id: id, 1153 value: value, 1154 defaultValue: defaultValue, 1155 disabled: disabled, 1156 onChange: onChange, 1157 onFocus: () => setFocus(true),
1158 onBlur: () => setFocus(false), 1159 style: { 1160 appearance: 'none', 1161 WebkitAppearance: 'none', 1162 width: '100%', 1163 height: 44, 1164 border: 'none', 1165 outline: 'none', 1166 background: 'transparent', 1167 fontFamily: 'var(--font-sans)', 1168 fontSize: 14, 1169 color: value || defaultValue ? 'var(--text-primary)' : 'var(--text-tertiary)', 1170 padding: '0 40px 0 12px', 1171 cursor: disabled ? 'not-allowed' : 'pointer' 1172 } 1173 }, rest), placeholder && /*#__PURE__*/React.createElement("option", { 1174 value: "", 1175 disabled: true 1176 }, placeholder), options.map(o => { 1177 const val = typeof o === 'string' ? o : o.value; 1178 const lab = typeof o === 'string' ? o : o.label; 1179 return /*#__PURE__*/React.createElement("option", { 1180 key: val, 1181 value: val 1182 }, lab); 1183 })), /*#__PURE__*/React.createElement("i", { 1184 "data-lucide": "chevron-down", 1185 style: { 1186 position: 'absolute', 1187 right: 12, 1188 top: '50%', 1189 transform: 'translateY(-50%)', 1190 width: 17, 1191 height: 17, 1192 color: 'var(--text-tertiary)', 1193 pointerEvents: 'none' 1194 } 1195 })), (hint || error) && /*#__PURE__*/React.createElement("span", { 1196 style: { 1197 display: 'block', 1198 fontSize: 12.5, 1199 marginTop: 6, 1200 color: error ? 'var(--error-text)' : 'var(--text-tertiary)' 1201 } 1202 }, error || hint)); 1203} 1204Object.assign(__ds_scope, { Select }); 1205})(); } catch (e) { __ds_ns.__errors.push({ path: "components/forms/Select.jsx", error: String((e && e.message) || e) }); } 1206
1207// components/forms/Switch.jsx 1208try { (() => { 1209function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 1210/** 1211 * GoldCare Switch â on/off toggle. Track fills with ink (or gold when 1212 * `accent="gold"`) when on; thumb slides. Calm 200ms ease-out, no bounce. 1213 */ 1214function Switch({ 1215 label, 1216 checked, 1217 defaultChecked, 1218 disabled = false, 1219 accent = 'ink', 1220 onChange, 1221 id, 1222 style, 1223 ...rest 1224}) { 1225 const [internal, setInternal] = React.useState(!!defaultChecked); 1226 const isControlled = checked !== undefined; 1227 const on = isControlled ? checked : internal; 1228 const toggle = e => { 1229 if (disabled) return; 1230 if (!isControlled) setInternal(e.target.checked); 1231 onChange && onChange(e); 1232 }; 1233 const onBg = accent === 'gold' ? 'var(--gold-gradient-btn)' : 'var(--brand-900)'; 1234 return /*#__PURE__*/React.createElement("label", { 1235 style: { 1236 display: 'inline-flex', 1237 alignItems: 'center', 1238 gap: 11, 1239 cursor: disabled ? 'not-allowed' : 'pointer', 1240 opacity: disabled ? 0.55 : 1, 1241 ...style 1242 } 1243 }, /*#__PURE__*/React.createElement("input", _extends({ 1244 id: id, 1245 type: "checkbox", 1246 role: "switch", 1247 checked: on, 1248 onChange: toggle, 1249 disabled: disabled, 1250 style: { 1251 position: 'absolute', 1252 opacity: 0, 1253 width: 0, 1254 height: 0 1255 } 1256 }, rest)), /*#__PURE__*/React.createElement("span", { 1257 style: { 1258 position: 'relative', 1259 width: 42, 1260 height: 24, 1261 flexShrink: 0, 1262 borderRadius: 'var(--radius-pill)', 1263 background: on ? onBg : 'var(--brand-200)', 1264 transition: 'background var(--duration-normal) var(--easing-out)' 1265 } 1266 }, /*#__PURE__*/React.createElement("span", { 1267 style: { 1268 position: 'absolute', 1269 top: 2, 1270 left: 2, 1271 width: 20, 1272 height: 20, 1273 borderRadius: 'var(--radius-pill)', 1274 background: 'var(--white)', 1275 boxShadow: '0 1px 3px rgba(0,0,0,0.25)', 1276 transform: on ? 'translateX(18px)' : 'translateX(0)', 1277 transition: 'transform var(--duration-normal) var(--easing-out)' 1278 } 1279 })), label && /*#__PURE__*/React.createElement("span", { 1280 style: { 1281 fontSize: 14, 1282 color: 'var(--text-strong)' 1283 } 1284 }, label)); 1285} 1286Object.assign(__ds_scope, { Switch }); 1287})(); } catch (e) { __ds_ns.__errors.push({ path: "components/forms/Switch.jsx", error: String((e && e.message) || e) }); } 1288
1289// components/marketing/AnnouncementBar.jsx 1290try { (() => { 1291function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 1292/** 1293 * GoldCare AnnouncementBar â the sticky ink strip at the very top. Gold pulse 1294 * dot + uppercase gold micro-label, an optional middle message, and a live 1295 * tabular-nums countdown in a gold-tint chip. Urgency is factual, never shouty. 1296 */ 1297function AnnouncementBar({ 1298 label = 'Today Only', 1299 message, 1300 countdown, 1301 countdownLabel = 'Ends in', 1302 style, 1303 ...rest 1304}) { 1305 return /*#__PURE__*/React.createElement("div", _extends({ 1306 style: { 1307 background: 'var(--brand-900)', 1308 color: 'var(--text-inverse)', 1309 padding: '11px 16px', 1310 display: 'flex', 1311 alignItems: 'center', 1312 justifyContent: 'center', 1313 gap: '7px 16px', 1314 flexWrap: 'wrap', 1315 textAlign: 'center', 1316 fontFamily: 'var(--font-sans)', 1317 fontSize: 13, 1318 lineHeight: 1.3, 1319 ...style 1320 } 1321 }, rest), /*#__PURE__*/React.createElement("span", { 1322 style: { 1323 display: 'inline-flex', 1324 alignItems: 'center', 1325 gap: 8 1326 } 1327 }, /*#__PURE__*/React.createElement("span", { 1328 style: { 1329 display: 'inline-flex', 1330 width: 7, 1331 height: 7, 1332 borderRadius: 'var(--radius-pill)', 1333 background: 'var(--gold-primary)', 1334 animation: 'gcPulse 1.6s ease-in-out infinite' 1335 } 1336 }), /*#__PURE__*/React.createElement("span", { 1337 style: { 1338 fontWeight: 600, 1339 letterSpacing: '0.18px', 1340 textTransform: 'uppercase', 1341 fontSize: 11.5, 1342 color: 'var(--gold-primary)' 1343 } 1344 }, label)), message && /*#__PURE__*/React.createElement("span", { 1345 style: { 1346 color: '#C9C8CE' 1347 } 1348 }, message), countdown != null && /*#__PURE__*/React.createElement("span", { 1349 style: { 1350 display: 'inline-flex', 1351 alignItems: 'center', 1352 gap: 7 1353 } 1354 }, /*#__PURE__*/React.createElement("span", { 1355 style: { 1356 color: 'var(--text-inverse-2)', 1357 fontSize: 12 1358 } 1359 }, countdownLabel), /*#__PURE__*/React.createElement("span", { 1360 style: { 1361 fontVariantNumeric: 'tabular-nums', 1362 fontWeight: 600, 1363 color: 'var(--gold-primary)', 1364 background: 'rgba(241,170,65,0.13)', 1365 padding: '3px 9px', 1366 borderRadius: 7, 1367 minWidth: 78, 1368 textAlign: 'center', 1369 letterSpacing: '0.3px' 1370 } 1371 }, countdown))); 1372} 1373Object.assign(__ds_scope, { AnnouncementBar }); 1374})(); } catch (e) { __ds_ns.__errors.push({ path: "components/marketing/AnnouncementBar.jsx", error: String((e && e.message) || e) }); } 1375
1376// components/marketing/EyebrowPill.jsx 1377try { (() => { 1378function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 1379/** 1380 * GoldCare EyebrowPill â the signature uppercase overline in a gold-tint pill 1381 * with a leading gold dot. Sits above section headlines. Text uses the darker 1382 * gold-ink for AA contrast on light. `variant="neutral"` drops the pill for a 1383 * plain grey overline. 1384 */ 1385function EyebrowPill({ 1386 children, 1387 variant = 'pill', 1388 style, 1389 ...rest 1390}) { 1391 if (variant === 'neutral') { 1392 return /*#__PURE__*/React.createElement("span", _extends({ 1393 style: { 1394 fontFamily: 'var(--font-sans)', 1395 fontSize: 12, 1396 fontWeight: 600, 1397 letterSpacing: 'var(--ls-overline)', 1398 textTransform: 'uppercase', 1399 color: 'var(--text-tertiary)', 1400 ...style 1401 } 1402 }, rest), children); 1403 } 1404 return /*#__PURE__*/React.createElement("span", _extends({ 1405 style: { 1406 display: 'inline-flex', 1407 alignItems: 'center', 1408 gap: 8, 1409 background: 'var(--gold-pill-bg)', 1410 padding: '6px 12px', 1411 borderRadius: 'var(--radius-pill)', 1412 fontFamily: 'var(--font-sans)', 1413 ...style 1414 } 1415 }, rest), /*#__PURE__*/React.createElement("span", { 1416 style: { 1417 width: 6, 1418 height: 6, 1419 borderRadius: 'var(--radius-pill)', 1420 background: 'var(--gold-deep)' 1421 } 1422 }), /*#__PURE__*/React.createElement("span", { 1423 style: { 1424 fontSize: 11.5, 1425 fontWeight: 600, 1426 letterSpacing: '0.16px', 1427 textTransform: 'uppercase', 1428 color: 'var(--gold-ink-2)' 1429 } 1430 }, children)); 1431} 1432Object.assign(__ds_scope, { EyebrowPill }); 1433})(); } catch (e) { __ds_ns.__errors.push({ path: "components/marketing/EyebrowPill.jsx", error: String((e && e.message) || e) }); } 1434
1435// components/marketing/FAQ.jsx 1436try { (() => { 1437function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 1438/** 1439 * GoldCare FAQ â a stack of flat click-to-expand cards. Each row is a 1px 1440 * bordered card (radius-lg) with a question and a Lucide chevron that rotates 1441 * open; the answer reveals in grey body. `items` is `[{ q, a }]`. 1442 */ 1443function FAQ({ 1444 items = [], 1445 defaultOpen = -1, 1446 style, 1447 ...rest 1448}) { 1449 const [open, setOpen] = React.useState(defaultOpen); 1450 return /*#__PURE__*/React.createElement("div", _extends({ 1451 style: { 1452 display: 'flex', 1453 flexDirection: 'column', 1454 gap: 12, 1455 fontFamily: 'var(--font-sans)', 1456 ...style 1457 } 1458 }, rest), items.map((it, i) => { 1459 const isOpen = open === i; 1460 return /*#__PURE__*/React.createElement("div", { 1461 key: i, 1462 style: { 1463 background: 'var(--surface-card)', 1464 border: '1px solid var(--border-card)', 1465 borderRadius: 'var(--radius-lg)', 1466 overflow: 'hidden' 1467 } 1468 }, /*#__PURE__*/React.createElement("button", { 1469 type: "button", 1470 onClick: () => setOpen(isOpen ? -1 : i), 1471 style: { 1472 width: '100%', 1473 display: 'flex', 1474 alignItems: 'center', 1475 justifyContent: 'space-between', 1476 gap: 16, 1477 padding: '18px 20px', 1478 border: 'none', 1479 background: 'transparent', 1480 cursor: 'pointer', 1481 textAlign: 'left', 1482 fontSize: 15.5, 1483 fontWeight: 600, 1484 color: 'var(--text-primary)', 1485 fontFamily: 'inherit' 1486 }, 1487 "aria-expanded": isOpen 1488 }, it.q, /*#__PURE__*/React.createElement("i", { 1489 "data-lucide": "chevron-down", 1490 style: { 1491 width: 18, 1492 height: 18, 1493 color: 'var(--text-tertiary)', 1494 flexShrink: 0, 1495 transform: isOpen ? 'rotate(180deg)' : 'none', 1496 transition: 'transform var(--duration-normal) var(--easing-out)' 1497 } 1498 })), isOpen && /*#__PURE__*/React.createElement("div", { 1499 style: { 1500 padding: '0 20px 18px', 1501 fontSize: 14, 1502 lineHeight: 1.6, 1503 color: 'var(--text-secondary)' 1504 } 1505 }, it.a)); 1506 })); 1507} 1508Object.assign(__ds_scope, { FAQ }); 1509})(); } catch (e) { __ds_ns.__errors.push({ path: "components/marketing/FAQ.jsx", error: String((e && e.message) || e) }); } 1510
1511// components/marketing/FeatureCard.jsx 1512try { (() => { 1513function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 1514/** 1515 * GoldCare FeatureCard â a flat benefit card: an icon chip, a title, and a 1516 * short body. The chip is either a neutral grey square (default) or a 1517 * gold-gradient circle (`emphasis="gold"`) for higher emphasis. Lucide icons â 1518 * host page must run `lucide.createIcons()`. 1519 */ 1520function FeatureCard({ 1521 icon, 1522 title, 1523 children, 1524 emphasis = 'neutral', 1525 style, 1526 ...rest 1527}) { 1528 const goldChip = emphasis === 'gold'; 1529 return /*#__PURE__*/React.createElement("div", _extends({ 1530 style: { 1531 display: 'flex', 1532 gap: 16, 1533 padding: 24, 1534 border: '1px solid var(--border-card)', 1535 borderRadius: 'var(--radius-xl)', 1536 background: 'var(--surface-card)', 1537 fontFamily: 'var(--font-sans)', 1538 ...style 1539 } 1540 }, rest), /*#__PURE__*/React.createElement("span", { 1541 style: { 1542 display: 'inline-flex', 1543 alignItems: 'center', 1544 justifyContent: 'center', 1545 flexShrink: 0, 1546 width: goldChip ? 46 : 42, 1547 height: goldChip ? 46 : 42, 1548 borderRadius: goldChip ? 'var(--radius-pill)' : 'var(--radius-md)', 1549 background: goldChip ? 'var(--gold-gradient-icon)' : 'var(--surface-secondary)', 1550 color: goldChip ? 'var(--white)' : 'var(--text-strong)' 1551 } 1552 }, /*#__PURE__*/React.createElement("i", { 1553 "data-lucide": icon, 1554 style: { 1555 width: goldChip ? 21 : 20, 1556 height: goldChip ? 21 : 20 1557 } 1558 })), /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("span", { 1559 style: { 1560 display: 'block', 1561 fontSize: goldChip ? 17 : 15.5, 1562 fontWeight: 600, 1563 marginBottom: goldChip ? 5 : 4, 1564 color: 'var(--text-primary)' 1565 } 1566 }, title), /*#__PURE__*/React.createElement("span", { 1567 style: { 1568 display: 'block', 1569 fontSize: goldChip ? 14 : 13.5, 1570 lineHeight: 1.5, 1571 color: 'var(--text-secondary)' 1572 } 1573 }, children))); 1574} 1575Object.assign(__ds_scope, { FeatureCard }); 1576})(); } catch (e) { __ds_ns.__errors.push({ path: "components/marketing/FeatureCard.jsx", error: String((e && e.message) || e) }); } 1577
1578// components/marketing/ShowcaseCard.jsx 1579try { (() => { 1580function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 1581/** 1582 * GoldCare ShowcaseCard â the offer / pricing card. The loudest surface in the 1583 * system: radius-3xl, 1px border, gold-glow shadow. Renders an eyebrow, a 1584 * subtitle, a big tabular-nums price with a struck-through "value" beside it, 1585 * a note, and a CTA. Optional dark hero panel (`heroSlot`) sits above the 1586 * white price body (e.g. the card-fan). Lucide icons on the host page. 1587 */ 1588function ShowcaseCard({ 1589 eyebrow = 'The Gift of Freedom', 1590 subtitle, 1591 price, 1592 value, 1593 valueLabel = 'standard value', 1594 priceLabel = 'Today', 1595 note, 1596 ctaLabel = 'Claim now', 1597 ctaIcon = 'gift', 1598 ctaHref, 1599 onCta, 1600 footNote, 1601 heroSlot, 1602 style, 1603 ...rest 1604}) { 1605 return /*#__PURE__*/React.createElement("div", _extends({ 1606 style: { 1607 borderRadius: 'var(--radius-3xl)', 1608 overflow: 'hidden', 1609 background: 'var(--surface-card)', 1610 border: '1px solid var(--border-card)', 1611 boxShadow: 'var(--shadow-showcase)', 1612 fontFamily: 'var(--font-sans)', 1613 ...style 1614 } 1615 }, rest), heroSlot, /*#__PURE__*/React.createElement("div", { 1616 style: { 1617 padding: '22px 24px 24px' 1618 } 1619 }, eyebrow && /*#__PURE__*/React.createElement("div", { 1620 style: { 1621 fontSize: 12, 1622 fontWeight: 600, 1623 letterSpacing: '0.18px', 1624 textTransform: 'uppercase', 1625 color: 'var(--text-gold)', 1626 marginBottom: 4 1627 } 1628 }, eyebrow), subtitle && /*#__PURE__*/React.createElement("div", { 1629 style: { 1630 fontSize: 16, 1631 fontWeight: 600, 1632 color: 'var(--text-primary)', 1633 marginBottom: 18 1634 } 1635 }, subtitle), /*#__PURE__*/React.createElement("div", { 1636 style: { 1637 display: 'flex', 1638 alignItems: 'flex-end', 1639 gap: 16, 1640 marginBottom: 8 1641 } 1642 }, /*#__PURE__*/React.createElement("div", null, priceLabel && /*#__PURE__*/React.createElement("div", { 1643 style: { 1644 fontSize: 11, 1645 fontWeight: 600, 1646 letterSpacing: '0.14px', 1647 textTransform: 'uppercase', 1648 color: 'var(--text-tertiary)', 1649 marginBottom: 2 1650 } 1651 }, priceLabel), /*#__PURE__*/React.createElement("div", { 1652 style: { 1653 fontSize: 'var(--fs-price)', 1654 fontWeight: 600, 1655 letterSpacing: 'var(--ls-price)', 1656 lineHeight: 0.86, 1657 color: 'var(--text-primary)', 1658 fontVariantNumeric: 'tabular-nums' 1659 } 1660 }, price)), value && /*#__PURE__*/React.createElement("div", { 1661 style: { 1662 paddingBottom: 5 1663 } 1664 }, /*#__PURE__*/React.createElement("div", { 1665 style: { 1666 fontSize: 20, 1667 color: 'var(--brand-300)', 1668 textDecoration: 'line-through', 1669 textDecorationThickness: 2, 1670 fontWeight: 500, 1671 lineHeight: 1 1672 } 1673 }, value), /*#__PURE__*/React.createElement("div", { 1674 style: { 1675 fontSize: 12.5, 1676 color: 'var(--text-secondary)', 1677 marginTop: 3 1678 } 1679 }, valueLabel))), note && /*#__PURE__*/React.createElement("div", { 1680 style: { 1681 fontSize: 13.5, 1682 color: 'var(--text-strong)', 1683 marginBottom: 18 1684 } 1685 }, note), /*#__PURE__*/React.createElement("a", { 1686 href: ctaHref, 1687 onClick: onCta, 1688 style: { 1689 display: 'flex', 1690 alignItems: 'center', 1691 justifyContent: 'center', 1692 gap: 9, 1693 height: 54, 1694 borderRadius: 'var(--radius-lg)', 1695 background: 'var(--brand-900)', 1696 color: 'var(--text-inverse)', 1697 fontSize: 15, 1698 fontWeight: 500, 1699 textDecoration: 'none', 1700 border: '1px solid var(--brand-900)', 1701 cursor: 'pointer', 1702 transition: 'background var(--duration-fast) var(--easing-out)' 1703 }, 1704 onMouseEnter: e => e.currentTarget.style.background = 'var(--brand-700)', 1705 onMouseLeave: e => e.currentTarget.style.background = 'var(--brand-900)' 1706 }, /*#__PURE__*/React.createElement("i", { 1707 "data-lucide": ctaIcon, 1708 style: { 1709 width: 18, 1710 height: 18 1711 } 1712 }), ctaLabel), footNote && /*#__PURE__*/React.createElement("div", { 1713 style: { 1714 display: 'flex', 1715 alignItems: 'center', 1716 justifyContent: 'center', 1717 gap: 7, 1718 marginTop: 13, 1719 fontSize: 12.5, 1720 color: 'var(--text-secondary)' 1721 } 1722 }, /*#__PURE__*/React.createElement("i", { 1723 "data-lucide": "clock", 1724 style: { 1725 width: 14, 1726 height: 14, 1727 color: 'var(--gold-deep)' 1728 } 1729 }), footNote))); 1730} 1731Object.assign(__ds_scope, { ShowcaseCard }); 1732})(); } catch (e) { __ds_ns.__errors.push({ path: "components/marketing/ShowcaseCard.jsx", error: String((e && e.message) || e) }); } 1733
1734// components/marketing/Steps.jsx 1735try { (() => { 1736function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 1737/** 1738 * GoldCare Steps â a numbered process row. Each step is a gold-gradient 1739 * rounded-square icon, a "Step N" gold-ink label, a title and short body. A 1740 * faint gold connector line sits behind the row on desktop. Lucide icons â 1741 * host page must run `lucide.createIcons()`. 1742 */ 1743function Steps({ 1744 steps = [], 1745 connector = true, 1746 style, 1747 ...rest 1748}) { 1749 return /*#__PURE__*/React.createElement("div", _extends({ 1750 style: { 1751 position: 'relative', 1752 fontFamily: 'var(--font-sans)', 1753 ...style 1754 } 1755 }, rest), connector && steps.length > 1 && /*#__PURE__*/React.createElement("div", { 1756 style: { 1757 position: 'absolute', 1758 top: 27, 1759 left: '12%', 1760 right: '12%', 1761 height: 2, 1762 background: 'linear-gradient(90deg, rgba(217,180,95,0), #D9B45F 18%, #D9B45F 82%, rgba(217,180,95,0))', 1763 zIndex: 0 1764 } 1765 }), /*#__PURE__*/React.createElement("div", { 1766 style: { 1767 position: 'relative', 1768 zIndex: 1, 1769 display: 'grid', 1770 gridTemplateColumns: `repeat(${steps.length}, minmax(0, 1fr))`, 1771 gap: 20 1772 } 1773 }, steps.map((s, i) => /*#__PURE__*/React.createElement("div", { 1774 key: i, 1775 style: { 1776 textAlign: 'center', 1777 padding: '0 6px' 1778 } 1779 }, /*#__PURE__*/React.createElement("div", { 1780 style: { 1781 width: 54, 1782 height: 54, 1783 borderRadius: 14, 1784 margin: '0 auto 18px', 1785 background: 'var(--gold-gradient-icon)', 1786 color: 'var(--white)', 1787 display: 'flex', 1788 alignItems: 'center', 1789 justifyContent: 'center', 1790 boxShadow: '0 10px 22px -10px rgba(148,99,38,0.7)' 1791 } 1792 }, /*#__PURE__*/React.createElement("i", { 1793 "data-lucide": s.icon, 1794 style: { 1795 width: 22, 1796 height: 22 1797 } 1798 })), /*#__PURE__*/React.createElement("div", { 1799 style: { 1800 fontSize: 11, 1801 fontWeight: 600, 1802 letterSpacing: '0.14px', 1803 textTransform: 'uppercase', 1804 color: 'var(--text-gold)', 1805 marginBottom: 6 1806 } 1807 }, "Step ", i + 1), /*#__PURE__*/React.createElement("h3", { 1808 style: { 1809 fontSize: 17, 1810 fontWeight: 600, 1811 margin: '0 0 7px', 1812 color: 'var(--text-primary)' 1813 } 1814 }, s.title), /*#__PURE__*/React.createElement("p", { 1815 style: { 1816 fontSize: 13.5, 1817 lineHeight: 1.55, 1818 color: 'var(--text-secondary)', 1819 margin: '0 auto', 1820 maxWidth: '23ch' 1821 } 1822 }, s.body))))); 1823} 1824Object.assign(__ds_scope, { Steps }); 1825})(); } catch (e) { __ds_ns.__errors.push({ path: "components/marketing/Steps.jsx", error: String((e && e.message) || e) }); } 1826
1827// components/marketing/Testimonial.jsx 1828try { (() => { 1829function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 1830/** 1831 * GoldCare Testimonial â a flat white card with a gold 5-star row, the quote in 1832 * strong ink, and a gold-gradient monogram avatar + name/location. `rating` 1833 * controls filled stars (default 5). 1834 */ 1835function Testimonial({ 1836 quote, 1837 name, 1838 location, 1839 rating = 5, 1840 avatarSrc, 1841 style, 1842 ...rest 1843}) { 1844 const initials = (name || '').split(/\s+/).filter(Boolean).slice(0, 2).map(w => w[0]).join('').toUpperCase(); 1845 return /*#__PURE__*/React.createElement("div", _extends({ 1846 style: { 1847 display: 'flex', 1848 flexDirection: 'column', 1849 background: 'var(--surface-card)', 1850 border: '1px solid var(--border-card)', 1851 borderRadius: 'var(--radius-2xl)', 1852 padding: 28, 1853 fontFamily: 'var(--font-sans)', 1854 ...style 1855 } 1856 }, rest), /*#__PURE__*/React.createElement("div", { 1857 style: { 1858 display: 'flex', 1859 gap: 3, 1860 marginBottom: 16 1861 } 1862 }, Array.from({ 1863 length: 5 1864 }).map((_, i) => /*#__PURE__*/React.createElement("svg", { 1865 key: i, 1866 viewBox: "0 0 24 24", 1867 width: "16", 1868 height: "16", 1869 fill: i < rating ? 'var(--gold-primary)' : 'var(--brand-150)' 1870 }, /*#__PURE__*/React.createElement("path", { 1871 d: "M12 2l2.9 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l7.1-1.01z" 1872 })))), /*#__PURE__*/React.createElement("p", { 1873 style: { 1874 fontSize: 15.5, 1875 lineHeight: 1.55, 1876 color: 'var(--text-strong)', 1877 margin: '0 0 22px', 1878 flex: 1 1879 } 1880 }, quote), /*#__PURE__*/React.createElement("div", { 1881 style: { 1882 display: 'flex', 1883 alignItems: 'center', 1884 gap: 12 1885 } 1886 }, /*#__PURE__*/React.createElement("span", { 1887 style: { 1888 display: 'inline-flex', 1889 alignItems: 'center', 1890 justifyContent: 'center', 1891 width: 40, 1892 height: 40, 1893 flexShrink: 0, 1894 borderRadius: 'var(--radius-pill)', 1895 overflow: 'hidden', 1896 background: 'var(--gold-gradient-icon)', 1897 color: 'var(--white)', 1898 fontSize: 13, 1899 fontWeight: 600 1900 } 1901 }, avatarSrc ? /*#__PURE__*/React.createElement("img", { 1902 src: avatarSrc, 1903 alt: name, 1904 style: { 1905 width: '100%', 1906 height: '100%', 1907 objectFit: 'cover' 1908 } 1909 }) : initials), /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("span", { 1910 style: { 1911 display: 'block', 1912 fontSize: 14, 1913 fontWeight: 600, 1914 color: 'var(--text-primary)' 1915 } 1916 }, name), location && /*#__PURE__*/React.createElement("span", { 1917 style: { 1918 display: 'block', 1919 fontSize: 13, 1920 color: 'var(--text-tertiary)' 1921 } 1922 }, location)))); 1923} 1924Object.assign(__ds_scope, { Testimonial }); 1925})(); } catch (e) { __ds_ns.__errors.push({ path: "components/marketing/Testimonial.jsx", error: String((e && e.message) || e) }); } 1926
1927// components/navigation/SiteFooter.jsx 1928try { (() => { 1929function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 1930/** 1931 * GoldCare SiteFooter â off-white, top border. Logo + trust line, circular 1932 * outline social icons (hover grey), grouped legal links, and a fine-print 1933 * copyright. Lucide icons â run `lucide.createIcons()`. 1934 */ 1935function SiteFooter({ 1936 logoSrc = 'assets/goldcare-logo.svg', 1937 tagline = 'Private, doctor-led membership care. Available in all 50 states.', 1938 socials = [{ 1939 icon: 'instagram', 1940 href: '#' 1941 }, { 1942 icon: 'facebook', 1943 href: '#' 1944 }, { 1945 icon: 'youtube', 1946 href: '#' 1947 }], 1948 columns = [], 1949 legalLinks = [], 1950 copyright = '© GoldCare. All rights reserved.', 1951 style, 1952 ...rest 1953}) { 1954 return /*#__PURE__*/React.createElement("footer", _extends({ 1955 style: { 1956 background: 'var(--bg-primary)', 1957 borderTop: '1px solid var(--border-secondary)', 1958 fontFamily: 'var(--font-sans)', 1959 ...style 1960 } 1961 }, rest), /*#__PURE__*/React.createElement("div", { 1962 style: { 1963 maxWidth: 'var(--container-max)', 1964 margin: '0 auto', 1965 padding: 'clamp(40px,5vw,64px) clamp(20px,5vw,64px)' 1966 } 1967 }, /*#__PURE__*/React.createElement("div", { 1968 style: { 1969 display: 'grid', 1970 gridTemplateColumns: 'repeat(auto-fit, minmax(min(220px,100%), 1fr))', 1971 gap: 40 1972 } 1973 }, /*#__PURE__*/React.createElement("div", { 1974 style: { 1975 maxWidth: 300 1976 } 1977 }, /*#__PURE__*/React.createElement("img", { 1978 src: logoSrc, 1979 alt: "GoldCare", 1980 style: { 1981 height: 24, 1982 display: 'block', 1983 marginBottom: 16 1984 } 1985 }), /*#__PURE__*/React.createElement("p", { 1986 style: { 1987 fontSize: 13.5, 1988 lineHeight: 1.55, 1989 color: 'var(--text-secondary)', 1990 margin: '0 0 18px' 1991 } 1992 }, tagline), /*#__PURE__*/React.createElement("div", { 1993 style: { 1994 display: 'flex', 1995 gap: 10 1996 } 1997 }, socials.map(s => /*#__PURE__*/React.createElement("a", { 1998 key: s.icon, 1999 href: s.href, 2000 "aria-label": s.icon, 2001 style: { 2002 display: 'inline-flex', 2003 alignItems: 'center', 2004 justifyContent: 'center', 2005 width: 38, 2006 height: 38, 2007 borderRadius: 'var(--radius-pill)', 2008 border: '1px solid var(--border-primary)', 2009 color: 'var(--text-secondary)', 2010 textDecoration: 'none', 2011 transition: 'background var(--duration-fast), border-color var(--duration-fast)' 2012 }, 2013 onMouseEnter: e => { 2014 e.currentTarget.style.background = 'var(--bg-band)'; 2015 e.currentTarget.style.borderColor = 'var(--border-primary-hover)'; 2016 }, 2017 onMouseLeave: e => { 2018 e.currentTarget.style.background = 'transparent'; 2019 e.currentTarget.style.borderColor = 'var(--border-primary)'; 2020 } 2021 }, /*#__PURE__*/React.createElement("i", { 2022 "data-lucide": s.icon, 2023 style: { 2024 width: 17, 2025 height: 17 2026 } 2027 }))))), columns.map(col => /*#__PURE__*/React.createElement("div", { 2028 key: col.title 2029 }, /*#__PURE__*/React.createElement("div", { 2030 style: { 2031 fontSize: 12, 2032 fontWeight: 600, 2033 letterSpacing: '0.18px', 2034 textTransform: 'uppercase', 2035 color: 'var(--text-tertiary)', 2036 marginBottom: 14 2037 } 2038 }, col.title), /*#__PURE__*/React.createElement("div", { 2039 style: { 2040 display: 'flex', 2041 flexDirection: 'column', 2042 gap: 10 2043 } 2044 }, col.links.map(l => /*#__PURE__*/React.createElement("a", { 2045 key: l.label, 2046 href: l.href, 2047 style: { 2048 fontSize: 14, 2049 color: 'var(--text-secondary)', 2050 textDecoration: 'none' 2051 }, 2052 onMouseEnter: e => e.currentTarget.style.color = 'var(--text-primary)', 2053 onMouseLeave: e => e.currentTarget.style.color = 'var(--text-secondary)' 2054 }, l.label)))))), /*#__PURE__*/React.createElement("div", { 2055 style: { 2056 display: 'flex', 2057 flexWrap: 'wrap', 2058 alignItems: 'center', 2059 justifyContent: 'space-between', 2060 gap: 12, 2061 marginTop: 40, 2062 paddingTop: 24, 2063 borderTop: '1px solid var(--border-secondary)' 2064 } 2065 }, /*#__PURE__*/React.createElement("span", { 2066 style: { 2067 fontSize: 12.5, 2068 color: 'var(--text-tertiary)' 2069 } 2070 }, copyright), /*#__PURE__*/React.createElement("div", { 2071 style: { 2072 display: 'flex', 2073 gap: 18 2074 } 2075 }, legalLinks.map(l => /*#__PURE__*/React.createElement("a", { 2076 key: l.label, 2077 href: l.href, 2078 style: { 2079 fontSize: 12.5, 2080 color: 'var(--text-secondary)', 2081 textDecoration: 'none' 2082 }, 2083 onMouseEnter: e => e.currentTarget.style.color = 'var(--text-primary)', 2084 onMouseLeave: e => e.currentTarget.style.color = 'var(--text-secondary)' 2085 }, l.label)))))); 2086} 2087Object.assign(__ds_scope, { SiteFooter }); 2088})(); } catch (e) { __ds_ns.__errors.push({ path: "components/navigation/SiteFooter.jsx", error: String((e && e.message) || e) }); } 2089
2090// components/navigation/SiteHeader.jsx 2091try { (() => { 2092function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 2093/** 2094 * GoldCare SiteHeader â off-white sticky header, 68px tall. Logo left, text nav 2095 * center (grey, hover ink + grey chip bg), right side = ghost Login + solid ink 2096 * CTA with a Lucide icon. Border/shadow are meant to appear only on scroll 2097 * (pass `scrolled` from the host). Lucide icons â run `lucide.createIcons()`. 2098 */ 2099function SiteHeader({ 2100 logoSrc = 'assets/goldcare-logo.svg', 2101 links = [], 2102 loginHref = 'https://app.goldcare.com/', 2103 ctaLabel = 'Claim 5 memberships', 2104 ctaIcon = 'gift', 2105 ctaHref = '#pricing', 2106 scrolled = false, 2107 style, 2108 ...rest 2109}) { 2110 return /*#__PURE__*/React.createElement("header", _extends({ 2111 style: { 2112 background: 'var(--bg-primary)', 2113 borderBottom: `1px solid ${scrolled ? 'var(--border-secondary)' : 'transparent'}`, 2114 boxShadow: scrolled ? '0 1px 0 rgba(12,12,13,0.03), 0 6px 20px -18px rgba(12,12,13,0.3)' : 'none', 2115 transition: 'border-color var(--duration-normal) var(--easing-out), box-shadow var(--duration-normal) var(--easing-out)', 2116 fontFamily: 'var(--font-sans)', 2117 ...style 2118 } 2119 }, rest), /*#__PURE__*/React.createElement("div", { 2120 style: { 2121 maxWidth: 'var(--container-max)', 2122 margin: '0 auto', 2123 padding: '0 clamp(20px,5vw,64px)', 2124 height: 68, 2125 display: 'flex', 2126 alignItems: 'center', 2127 gap: 28 2128 } 2129 }, /*#__PURE__*/React.createElement("a", { 2130 href: "#top", 2131 style: { 2132 display: 'flex', 2133 alignItems: 'center', 2134 flexShrink: 0 2135 } 2136 }, /*#__PURE__*/React.createElement("img", { 2137 src: logoSrc, 2138 alt: "GoldCare", 2139 style: { 2140 height: 24, 2141 display: 'block' 2142 } 2143 })), /*#__PURE__*/React.createElement("nav", { 2144 style: { 2145 display: 'flex', 2146 alignItems: 'center', 2147 gap: 4, 2148 marginLeft: 8, 2149 flex: 1 2150 } 2151 }, links.map(l => /*#__PURE__*/React.createElement("a", { 2152 key: l.href, 2153 href: l.href, 2154 style: { 2155 padding: '8px 13px', 2156 borderRadius: 'var(--radius-md)', 2157 fontSize: 14, 2158 fontWeight: 500, 2159 color: 'var(--text-secondary)', 2160 textDecoration: 'none', 2161 transition: 'color var(--duration-fast), background var(--duration-fast)' 2162 }, 2163 onMouseEnter: e => { 2164 e.currentTarget.style.color = 'var(--text-primary)'; 2165 e.currentTarget.style.background = 'var(--surface-secondary)'; 2166 }, 2167 onMouseLeave: e => { 2168 e.currentTarget.style.color = 'var(--text-secondary)'; 2169 e.currentTarget.style.background = 'transparent'; 2170 } 2171 }, l.label))), /*#__PURE__*/React.createElement("div", { 2172 style: { 2173 display: 'flex', 2174 alignItems: 'center', 2175 gap: 14, 2176 flexShrink: 0 2177 } 2178 }, loginHref && /*#__PURE__*/React.createElement("a", { 2179 href: loginHref, 2180 style: { 2181 fontSize: 14, 2182 fontWeight: 500, 2183 color: 'var(--brand-700)', 2184 padding: '8px 6px', 2185 textDecoration: 'none' 2186 }, 2187 onMouseEnter: e => e.currentTarget.style.color = 'var(--text-primary)', 2188 onMouseLeave: e => e.currentTarget.style.color = 'var(--brand-700)' 2189 }, "Login"), /*#__PURE__*/React.createElement("a", { 2190 href: ctaHref, 2191 style: { 2192 display: 'inline-flex', 2193 alignItems: 'center', 2194 gap: 8, 2195 height: 42, 2196 padding: '0 18px', 2197 borderRadius: 'var(--radius-lg)', 2198 background: 'var(--brand-900)', 2199 color: 'var(--text-inverse)', 2200 fontSize: 14, 2201 fontWeight: 500, 2202 border: '1px solid var(--brand-900)', 2203 whiteSpace: 'nowrap', 2204 textDecoration: 'none', 2205 transition: 'background var(--duration-fast) var(--easing-out)' 2206 }, 2207 onMouseEnter: e => e.currentTarget.style.background = 'var(--brand-700)', 2208 onMouseLeave: e => e.currentTarget.style.background = 'var(--brand-900)' 2209 }, /*#__PURE__*/React.createElement("i", { 2210 "data-lucide": ctaIcon, 2211 style: { 2212 width: 16, 2213 height: 16 2214 } 2215 }), ctaLabel)))); 2216} 2217Object.assign(__ds_scope, { SiteHeader }); 2218})(); } catch (e) { __ds_ns.__errors.push({ path: "components/navigation/SiteHeader.jsx", error: String((e && e.message) || e) }); } 2219
2220// components/navigation/StickyMobileCTA.jsx 2221try { (() => { 2222function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 2223/** 2224 * GoldCare StickyMobileCTA â the ink bar pinned to the bottom of the viewport on 2225 * small screens. Price + countdown on the left, a gold-gradient "Claim" button 2226 * on the right. In production it slides in after scroll; here it renders in 2227 * place. Lucide icons â run `lucide.createIcons()`. 2228 */ 2229function StickyMobileCTA({ 2230 price = '$500', 2231 caption = 'Today only · ends in', 2232 countdown = '00:00:00', 2233 ctaLabel = 'Claim', 2234 ctaIcon = 'gift', 2235 ctaHref = '#pricing', 2236 position = 'static', 2237 style, 2238 ...rest 2239}) { 2240 return /*#__PURE__*/React.createElement("div", _extends({ 2241 style: { 2242 ...(position === 'fixed' ? { 2243 position: 'fixed', 2244 left: 0, 2245 right: 0, 2246 bottom: 0, 2247 zIndex: 'var(--z-mobile-cta)' 2248 } : { 2249 position: 'static' 2250 }), 2251 display: 'flex', 2252 alignItems: 'center', 2253 justifyContent: 'space-between', 2254 gap: 14, 2255 background: 'var(--brand-900)', 2256 color: 'var(--text-inverse)', 2257 padding: '12px 16px', 2258 fontFamily: 'var(--font-sans)', 2259 boxShadow: '0 -8px 24px -12px rgba(12,12,13,0.5)', 2260 ...style 2261 } 2262 }, rest), /*#__PURE__*/React.createElement("div", { 2263 style: { 2264 minWidth: 0 2265 } 2266 }, /*#__PURE__*/React.createElement("div", { 2267 style: { 2268 fontSize: 17, 2269 fontWeight: 600, 2270 letterSpacing: '-0.01em' 2271 } 2272 }, price), /*#__PURE__*/React.createElement("div", { 2273 style: { 2274 fontSize: 11.5, 2275 color: 'var(--text-inverse-2)', 2276 display: 'flex', 2277 gap: 5, 2278 alignItems: 'center' 2279 } 2280 }, caption, " ", /*#__PURE__*/React.createElement("span", { 2281 style: { 2282 fontVariantNumeric: 'tabular-nums', 2283 color: 'var(--gold-primary)', 2284 fontWeight: 600 2285 } 2286 }, countdown))), /*#__PURE__*/React.createElement("a", { 2287 href: ctaHref, 2288 style: { 2289 display: 'inline-flex', 2290 alignItems: 'center', 2291 gap: 8, 2292 height: 46, 2293 padding: '0 22px', 2294 borderRadius: 'var(--radius-lg)', 2295 background: 'var(--gold-gradient-btn)', 2296 color: 'var(--brand-900)', 2297 fontSize: 15, 2298 fontWeight: 600, 2299 textDecoration: 'none', 2300 whiteSpace: 'nowrap', 2301 flexShrink: 0, 2302 transition: 'filter var(--duration-fast) var(--easing-out)' 2303 }, 2304 onMouseEnter: e => e.currentTarget.style.filter = 'brightness(1.06)', 2305 onMouseLeave: e => e.currentTarget.style.filter = 'none' 2306 }, /*#__PURE__*/React.createElement("i", { 2307 "data-lucide": ctaIcon, 2308 style: { 2309 width: 17, 2310 height: 17 2311 } 2312 }), ctaLabel)); 2313} 2314Object.assign(__ds_scope, { StickyMobileCTA }); 2315})(); } catch (e) { __ds_ns.__errors.push({ path: "components/navigation/StickyMobileCTA.jsx", error: String((e && e.message) || e) }); } 2316
2317// ui_kits/marketing/GiftLanding.jsx 2318try { (() => { 2319// GoldCare â Gift landing page recreation (canonical light layout). 2320// Composed from the design-system components. Assembles the full section 2321// rhythm: announcement â hero (offer card) â stats â value â how â included â 2322// testimonials â DARK pricing â FAQ â DARK final CTA â footer. 2323// Exposes <GiftLanding/> on window for index.html. 2324 2325const NS = window.GoldCareDesignSystem_520b26; 2326const { 2327 Button, 2328 SiteHeader, 2329 SiteFooter, 2330 StickyMobileCTA, 2331 AnnouncementBar, 2332 EyebrowPill, 2333 FeatureCard, 2334 ShowcaseCard, 2335 Steps, 2336 Testimonial, 2337 FAQ, 2338 StatsBand 2339} = NS; 2340const LOGO = '../../assets/goldcare-logo.svg'; 2341const ICON = '../../assets/goldcare-icon.svg'; 2342const HERO_IMG = '../../assets/hero-freedom.png'; 2343const CONTAINER = { 2344 maxWidth: 1208, 2345 margin: '0 auto', 2346 padding: '0 clamp(20px,5vw,64px)' 2347}; 2348const SECTION_Y = 'clamp(60px,7vw,100px)'; 2349function useCountdown(start = 3 * 3600 + 14 * 60 + 9) { 2350 const [s, setS] = React.useState(start); 2351 React.useEffect(() => { 2352 const t = setInterval(() => setS(x => x > 0 ? x - 1 : 0), 1000); 2353 return () => clearInterval(t); 2354 }, []); 2355 const hh = String(Math.floor(s / 3600)).padStart(2, '0'); 2356 const mm = String(Math.floor(s % 3600 / 60)).padStart(2, '0'); 2357 const ss = String(s % 60).padStart(2, '0'); 2358 return `${hh}:${mm}:${ss}`; 2359} 2360 2361// The dark hero panel for the offer card â a 5-card membership fan. 2362function CardFan() { 2363 const angles = [-25, -12.5, 0, 12.5, 25]; 2364 return /*#__PURE__*/React.createElement("div", { 2365 style: { 2366 position: 'relative', 2367 height: 236, 2368 overflow: 'hidden', 2369 background: 'radial-gradient(125% 92% at 50% 122%, rgba(241,170,65,0.22), rgba(12,12,13,0) 62%), #0C0C0D' 2370 } 2371 }, /*#__PURE__*/React.createElement("div", { 2372 style: { 2373 position: 'absolute', 2374 left: 16, 2375 top: 16, 2376 zIndex: 20, 2377 background: 'linear-gradient(135deg,#F7BC57,#CF9842)', 2378 color: '#0C0C0D', 2379 fontSize: 12, 2380 fontWeight: 700, 2381 padding: '7px 13px', 2382 borderRadius: 9999, 2383 boxShadow: '0 8px 20px -8px rgba(12,12,13,0.5)', 2384 whiteSpace: 'nowrap' 2385 } 2386 }, "Save up to $1,095"), /*#__PURE__*/React.createElement("div", { 2387 style: { 2388 position: 'absolute', 2389 right: 16, 2390 top: 16, 2391 zIndex: 20, 2392 fontSize: 11, 2393 fontWeight: 600, 2394 letterSpacing: '1.2px', 2395 textTransform: 'uppercase', 2396 color: 'rgba(243,202,110,0.85)' 2397 } 2398 }, "The Freedom Pack"), angles.map((a, i) => { 2399 const center = a === 0; 2400 return /*#__PURE__*/React.createElement("div", { 2401 key: i, 2402 style: { 2403 position: 'absolute', 2404 left: '50%', 2405 bottom: 14, 2406 width: center ? 130 : 126, 2407 height: center ? 182 : 176, 2408 marginLeft: center ? -65 : -63, 2409 borderRadius: 14, 2410 background: center ? 'linear-gradient(160deg,#2c2920,#0C0C0D)' : 'linear-gradient(160deg,#26241f,#0C0C0D)', 2411 border: `1px solid rgba(241,170,65,${center ? 0.55 : 0.3})`, 2412 boxShadow: center ? '0 22px 38px -16px rgba(0,0,0,0.85)' : '0 16px 30px -16px rgba(0,0,0,0.75)', 2413 transformOrigin: 'bottom center', 2414 transform: `rotate(${a}deg)`, 2415 display: 'flex', 2416 flexDirection: 'column', 2417 alignItems: 'center', 2418 justifyContent: 'space-between', 2419 padding: center ? '16px 11px' : '15px 11px', 2420 zIndex: center ? 6 : a === -12.5 || a === 12.5 ? 2 : 1 2421 } 2422 }, /*#__PURE__*/React.createElement("img", { 2423 src: ICON, 2424 alt: "", 2425 style: { 2426 height: center ? 24 : 20, 2427 opacity: center ? 1 : 0.92 2428 } 2429 }), /*#__PURE__*/React.createElement("div", { 2430 style: { 2431 textAlign: 'center' 2432 } 2433 }, center && /*#__PURE__*/React.createElement("div", { 2434 style: { 2435 fontSize: 10, 2436 letterSpacing: '0.5px', 2437 color: '#FCFCFD', 2438 fontWeight: 600 2439 } 2440 }, "GoldCare"), /*#__PURE__*/React.createElement("div", { 2441 style: { 2442 fontSize: center ? 8 : 8, 2443 letterSpacing: '1.3px', 2444 textTransform: 'uppercase', 2445 color: '#CF9842', 2446 fontWeight: 700, 2447 marginTop: center ? 4 : 0 2448 } 2449 }, "1-Year Family"), /*#__PURE__*/React.createElement("div", { 2450 style: { 2451 fontSize: 7.5, 2452 letterSpacing: '0.6px', 2453 color: '#8C8B94', 2454 marginTop: 2 2455 } 2456 }, "Membership")), /*#__PURE__*/React.createElement("div", { 2457 style: { 2458 fontSize: 9, 2459 color: center ? '#9a8a5e' : '#7a7984', 2460 fontWeight: 700, 2461 letterSpacing: '1px' 2462 } 2463 }, String(i + 1).padStart(2, '0'))); 2464 })); 2465} 2466function Star() { 2467 return /*#__PURE__*/React.createElement("svg", {
2468 viewBox: "0 0 24 24", 2469 width: "16", 2470 height: "16", 2471 fill: "#F1AA41" 2472 }, /*#__PURE__*/React.createElement("path", { 2473 d: "M12 2l2.9 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l7.1-1.01z" 2474 })); 2475} 2476function GiftLanding() { 2477 const [scrolled, setScrolled] = React.useState(false); 2478 const cd = useCountdown(); 2479 React.useEffect(() => { 2480 const onScroll = () => setScrolled(window.scrollY > 8); 2481 window.addEventListener('scroll', onScroll); 2482 return () => window.removeEventListener('scroll', onScroll); 2483 }, []); 2484 React.useEffect(() => { 2485 window.lucide && window.lucide.createIcons(); 2486 }); 2487 return /*#__PURE__*/React.createElement("div", { 2488 style: { 2489 background: '#FCFCFD', 2490 color: '#0C0C0D', 2491 overflowX: 'hidden', 2492 paddingBottom: 82 2493 } 2494 }, /*#__PURE__*/React.createElement("div", { 2495 style: { 2496 position: 'sticky', 2497 top: 0, 2498 zIndex: 50 2499 } 2500 }, /*#__PURE__*/React.createElement(AnnouncementBar, { 2501 label: "Today Only \xB7 America 250", 2502 message: /*#__PURE__*/React.createElement(React.Fragment, null, "5 family memberships for ", /*#__PURE__*/React.createElement("strong", { 2503 style: { 2504 color: '#FCFCFD', 2505 fontWeight: 600 2506 } 2507 }, "$500"), " \xB7 Save up to ", /*#__PURE__*/React.createElement("strong", { 2508 style: { 2509 color: '#FCFCFD', 2510 fontWeight: 600 2511 } 2512 }, "$1,095")), 2513 countdown: cd 2514 }), /*#__PURE__*/React.createElement(SiteHeader, { 2515 logoSrc: LOGO, 2516 scrolled: scrolled, 2517 links: [{ 2518 label: 'How it works', 2519 href: '#how' 2520 }, { 2521 label: "What's included", 2522 href: '#includes' 2523 }, { 2524 label: 'Pricing', 2525 href: '#pricing' 2526 }, {
2527 label: 'FAQ', 2528 href: '#faq' 2529 }] 2530 })), /*#__PURE__*/React.createElement("section", { 2531 style: { 2532 ...CONTAINER, 2533 paddingTop: 'clamp(38px,5vw,68px)', 2534 paddingBottom: 'clamp(30px,4vw,44px)' 2535 } 2536 }, /*#__PURE__*/React.createElement("div", { 2537 style: { 2538 display: 'grid', 2539 gridTemplateColumns: 'repeat(auto-fit,minmax(min(338px,100%),1fr))', 2540 gap: 'clamp(34px,5vw,60px)', 2541 alignItems: 'center' 2542 } 2543 }, /*#__PURE__*/React.createElement("div", { 2544 "data-reveal": true 2545 }, /*#__PURE__*/React.createElement("div", { 2546 style: { 2547 marginBottom: 20 2548 } 2549 }, /*#__PURE__*/React.createElement(EyebrowPill, null, "Today Only \xB7 America 250 Gift Offer")), /*#__PURE__*/React.createElement("h1", { 2550 style: { 2551 fontSize: 'clamp(36px,4.6vw,56px)', 2552 lineHeight: 1.03, 2553 letterSpacing: '-0.028em', 2554 fontWeight: 500, 2555 margin: '0 0 20px', 2556 maxWidth: '15ch' 2557 } 2558 }, "Give 5 families a full year of GoldCare for ", /*#__PURE__*/React.createElement("em", { 2559 className: "gc-accent" 2560 }, "$500")), /*#__PURE__*/React.createElement("p", { 2561 style: { 2562 fontSize: 'clamp(15px,1.35vw,17.5px)', 2563 lineHeight: 1.58, 2564 color: '#48474D', 2565 margin: '0 0 20px', 2566 maxWidth: '50ch' 2567 } 2568 }, "Keep one membership for your own family. Gift the other four to the people you love. Each family gets 12 months of independent, doctor-led care, member education, community, and preparedness tools."), /*#__PURE__*/React.createElement("div", { 2569 style: { 2570 display: 'flex', 2571 flexWrap: 'wrap', 2572 alignItems: 'center', 2573 gap: '8px 14px', 2574 margin: '0 0 26px', 2575 fontSize: 15, 2576 fontWeight: 500 2577 } 2578 }, /*#__PURE__*/React.createElement("span", { 2579 style: { 2580 color: '#8C8B94', 2581 textDecoration: 'line-through', 2582 textDecorationThickness: 1.5 2583 } 2584 }, "Value $1,495"), /*#__PURE__*/React.createElement("span", { 2585 style: { 2586 color: '#D6D6D7' 2587 } 2588 }, "\xB7"), /*#__PURE__*/React.createElement("span", null, "Today ", /*#__PURE__*/React.createElement("strong", { 2589 style: { 2590 fontWeight: 600 2591 } 2592 }, "$500")), /*#__PURE__*/React.createElement("span", { 2593 style: { 2594 color: '#D6D6D7' 2595 } 2596 }, "\xB7"), /*#__PURE__*/React.createElement("span", null, "Members ", /*#__PURE__*/React.createElement("strong", { 2597 style: { 2598 fontWeight: 600 2599 } 2600 }, "$400")), /*#__PURE__*/React.createElement("span", { 2601 style: { 2602 color: '#D6D6D7' 2603 } 2604 }, "\xB7"), /*#__PURE__*/React.createElement("span", { 2605 style: { 2606 color: '#B07D2A', 2607 fontWeight: 600 2608 } 2609 }, "Ends tonight")), /*#__PURE__*/React.createElement("div", { 2610 style: { 2611 display: 'flex', 2612 flexWrap: 'wrap', 2613 gap: 12, 2614 marginBottom: 20 2615 } 2616 }, /*#__PURE__*/React.createElement(Button, { 2617 variant: "primary", 2618 size: "lg", 2619 icon: "gift", 2620 href: "#pricing" 2621 }, "Claim 5 memberships now"), /*#__PURE__*/React.createElement(Button, { 2622 variant: "secondary", 2623 size: "lg", 2624 iconRight: "arrow-right", 2625 href: "#includes" 2626 }, "See what's included")), /*#__PURE__*/React.createElement("div", { 2627 style: { 2628 display: 'flex', 2629 alignItems: 'center', 2630 gap: 11, 2631 flexWrap: 'wrap' 2632 } 2633 }, /*#__PURE__*/React.createElement("div", { 2634 style: { 2635 display: 'flex', 2636 gap: 3 2637 } 2638 }, /*#__PURE__*/React.createElement(Star, null), /*#__PURE__*/React.createElement(Star, null), /*#__PURE__*/React.createElement(Star, null), /*#__PURE__*/React.createElement(Star, null), /*#__PURE__*/React.createElement(Star, null)), /*#__PURE__*/React.createElement("span", { 2639 style: { 2640 fontSize: 13.5, 2641 color: '#63626A' 2642 } 2643 }, "Rated ", /*#__PURE__*/React.createElement("strong", { 2644 style: { 2645 fontWeight: 600, 2646 color: '#2C2C30' 2647 } 2648 }, "4.9 / 5"), " \xB7 Trusted by ", /*#__PURE__*/React.createElement("strong", { 2649 style: { 2650 fontWeight: 600, 2651 color: '#2C2C30' 2652 } 2653 }, "10,000+"), " members nationwide"))), /*#__PURE__*/React.createElement("div", { 2654 "data-reveal": true 2655 }, /*#__PURE__*/React.createElement(ShowcaseCard, { 2656 heroSlot: /*#__PURE__*/React.createElement(CardFan, null), 2657 eyebrow: "The Gift of Freedom", 2658 subtitle: "5 family memberships \xB7 one full year each", 2659 price: "$500", 2660 value: "$1,495", 2661 note: /*#__PURE__*/React.createElement(React.Fragment, null, "Existing members pay just ", /*#__PURE__*/React.createElement("strong", { 2662 style: { 2663 fontWeight: 600 2664 } 2665 }, "$400"), " at checkout."), 2666 ctaLabel: "Claim 5 memberships now", 2667 ctaHref: "#pricing", 2668 footNote: /*#__PURE__*/React.createElement(React.Fragment, null, "Today only \xB7 ends in ", /*#__PURE__*/React.createElement("span", { 2669 style: { 2670 fontVariantNumeric: 'tabular-nums', 2671 fontWeight: 600, 2672 color: '#B07D2A' 2673 } 2674 }, cd)) 2675 })))), /*#__PURE__*/React.createElement("section", { 2676 "data-reveal": true, 2677 style: CONTAINER 2678 }, /*#__PURE__*/React.createElement(StatsBand, { 2679 stats: [{ 2680 value: '10,000+', 2681 label: 'members nationwide' 2682 }, {
2683 value: '200+', 2684 label: 'independent doctors' 2685 }, { 2686 value: 'All 50', 2687 label: 'states covered' 2688 }, { 2689 value: '4.9', 2690 label: 'average member rating', 2691 star: true 2692 }] 2693 })), /*#__PURE__*/React.createElement("section", { 2694 style: { 2695 ...CONTAINER, 2696 paddingTop: SECTION_Y, 2697 paddingBottom: 'clamp(40px,5vw,56px)' 2698 } 2699 }, /*#__PURE__*/React.createElement("div", { 2700 "data-reveal": true, 2701 style: { 2702 maxWidth: 660, 2703 marginBottom: 42 2704 } 2705 }, /*#__PURE__*/React.createElement("div", { 2706 style: { 2707 marginBottom: 16 2708 } 2709 }, /*#__PURE__*/React.createElement(EyebrowPill, { 2710 variant: "neutral" 2711 }, "What you're really giving")), /*#__PURE__*/React.createElement("h2", { 2712 className: "gc-h2", 2713 style: { 2714 marginBottom: 18 2715 } 2716 }, "Not a gift card. A year of freedom."), /*#__PURE__*/React.createElement("p", { 2717 className: "gc-body-lg", 2718 style: { 2719 maxWidth: '60ch' 2720 } 2721 }, "Most gifts are forgotten by August. This one changes how a family gets care \u2014 doctors who listen, classes that help them decide before a crisis, a community that shares their values, and the tools to be ready. For $500, you can cover five families for a year. That isn't a gift. That's leverage.")), /*#__PURE__*/React.createElement("div", { 2722 "data-reveal": true, 2723 style: { 2724 display: 'grid', 2725 gridTemplateColumns: 'repeat(auto-fit,minmax(min(300px,100%),1fr))', 2726 gap: 24, 2727 alignItems: 'stretch' 2728 } 2729 }, /*#__PURE__*/React.createElement("div", { 2730 style: { 2731 borderRadius: 20, 2732 overflow: 'hidden', 2733 border: '1px solid #E6E6E8', 2734 minHeight: 300, 2735 position: 'relative', 2736 background: '#0C0C0D' 2737 } 2738 }, /*#__PURE__*/React.createElement("img", { 2739 src: HERO_IMG, 2740 alt: "A family walking toward a sunrise and an American flag", 2741 style: { 2742 position: 'absolute', 2743 inset: 0, 2744 width: '100%', 2745 height: '100%', 2746 objectFit: 'cover' 2747 } 2748 }), /*#__PURE__*/React.createElement("div", { 2749 style: { 2750 position: 'absolute', 2751 left: 0, 2752 right: 0, 2753 bottom: 0, 2754 padding: 24, 2755 background: 'linear-gradient(to top,rgba(12,12,13,0.82),rgba(12,12,13,0))' 2756 } 2757 }, /*#__PURE__*/React.createElement("p", { 2758 style: { 2759 fontSize: 16, 2760 lineHeight: 1.45, 2761 color: '#FCFCFD', 2762 fontWeight: 500, 2763 margin: 0, 2764 maxWidth: '34ch' 2765 } 2766 }, "For many of them, it will be the first doctor in years who answers to them, and not to a system."))), /*#__PURE__*/React.createElement("div", { 2767 style: { 2768 display: 'flex', 2769 flexDirection: 'column', 2770 gap: 16 2771 } 2772 }, /*#__PURE__*/React.createElement(FeatureCard, { 2773 icon: "calendar-check", 2774 title: "A full year, theirs to keep", 2775 emphasis: "gold" 2776 }, "Twelve months of full GoldCare family membership, starting the day they activate."), /*#__PURE__*/React.createElement(FeatureCard, { 2777 icon: "user-round", 2778 title: "Their own private account", 2779 emphasis: "gold" 2780 }, "Each family creates and controls its own account. Their care and information stay entirely their own."), /*#__PURE__*/React.createElement(FeatureCard, { 2781 icon: "badge-check", 2782 title: "Every benefit, from day one", 2783 emphasis: "gold" 2784 }, "Independent doctors, WellnessU classes, the member community, and Be-Ready essentials.")))), /*#__PURE__*/React.createElement("section", { 2785 id: "how", 2786 style: { 2787 background: '#F6F5F3', 2788 borderTop: '1px solid #EFEFF2', 2789 borderBottom: '1px solid #EFEFF2' 2790 } 2791 }, /*#__PURE__*/React.createElement("div", { 2792 style: { 2793 ...CONTAINER, 2794 paddingTop: SECTION_Y, 2795 paddingBottom: SECTION_Y 2796 } 2797 }, /*#__PURE__*/React.createElement("div", { 2798 "data-reveal": true, 2799 style: { 2800 textAlign: 'center', 2801 marginBottom: 'clamp(46px,6vw,68px)' 2802 } 2803 }, /*#__PURE__*/React.createElement("div", { 2804 style: { 2805 marginBottom: 14, 2806 display: 'flex', 2807 justifyContent: 'center' 2808 } 2809 }, /*#__PURE__*/React.createElement(EyebrowPill, { 2810 variant: "neutral" 2811 }, "How gifting works")), /*#__PURE__*/React.createElement("h2", { 2812 className: "gc-h2" 2813 }, "Four simple steps")), /*#__PURE__*/React.createElement("div", { 2814 "data-reveal": true, 2815 style: { 2816 maxWidth: 1040, 2817 margin: '0 auto' 2818 } 2819 }, /*#__PURE__*/React.createElement(Steps, { 2820 steps: [{ 2821 icon: 'credit-card', 2822 title: 'Purchase', 2823 body: 'One payment, five family memberships.' 2824 }, {
2825 icon: 'package', 2826 title: 'Receive', 2827 body: 'Keep one for your family. Four are yours to give.' 2828 }, { 2829 icon: 'send', 2830 title: 'Share', 2831 body: 'Send each gift by email or a shareable link.' 2832 }, { 2833 icon: 'badge-check', 2834 title: 'Redeem', 2835 body: 'Each family activates a full year, in under two minutes.' 2836 }] 2837 })))), /*#__PURE__*/React.createElement("section", { 2838 id: "includes", 2839 style: { 2840 ...CONTAINER, 2841 paddingTop: SECTION_Y, 2842 paddingBottom: SECTION_Y 2843 } 2844 }, /*#__PURE__*/React.createElement("div", { 2845 "data-reveal": true, 2846 style: { 2847 maxWidth: 660, 2848 marginBottom: 44 2849 } 2850 }, /*#__PURE__*/React.createElement("div", { 2851 style: { 2852 marginBottom: 16 2853 } 2854 }, /*#__PURE__*/React.createElement(EyebrowPill, { 2855 variant: "neutral" 2856 }, "Every family gets the full membership")), /*#__PURE__*/React.createElement("h2", { 2857 className: "gc-h2", 2858 style: { 2859 marginBottom: 18 2860 } 2861 }, "Not just telehealth. A whole year of staying free."), /*#__PURE__*/React.createElement("p", { 2862 className: "gc-body-lg", 2863 style: { 2864 maxWidth: '58ch' 2865 } 2866 }, "Each of the five memberships opens the same complete system. This is why the Gift of Freedom is worth far more than its price.")), /*#__PURE__*/React.createElement("div", { 2867 style: { 2868 display: 'grid', 2869 gridTemplateColumns: 'repeat(auto-fit,minmax(min(300px,100%),1fr))', 2870 gap: 18 2871 } 2872 }, [['stethoscope', 'Independent doctors', 'Access to vetted clinicians who answer to the patient, not the insurance machine.'], ['graduation-cap', 'WellnessU education', 'Doctor-led classes that help families understand their health before crisis hits.'], ['users', 'Private member community', 'A values-aligned community for families who want better answers.'], ['shield-check', 'Be-Ready essentials', "Clinician-guided preparedness resources, so families aren't helpless when care gets delayed."], ['calendar-days', 'Live townhalls & Q&As', 'Weekly access to conversations with physicians and experts, live or on demand.'], ['calendar-check', 'A full year of access', 'Twelve months for each family, starting the day they activate.']].map(([icon, title, body]) => /*#__PURE__*/React.createElement("div", { 2873 "data-reveal": true, 2874 key: title 2875 }, /*#__PURE__*/React.createElement(FeatureCard, { 2876 icon: icon, 2877 title: title 2878 }, body))))), /*#__PURE__*/React.createElement("section", { 2879 style: { 2880 background: '#F6F5F3', 2881 borderTop: '1px solid #EFEFF2', 2882 borderBottom: '1px solid #EFEFF2' 2883 } 2884 }, /*#__PURE__*/React.createElement("div", { 2885 style: { 2886 ...CONTAINER, 2887 paddingTop: SECTION_Y, 2888 paddingBottom: SECTION_Y 2889 } 2890 }, /*#__PURE__*/React.createElement("div", { 2891 "data-reveal": true, 2892 style: { 2893 maxWidth: 680, 2894 marginBottom: 44 2895 } 2896 }, /*#__PURE__*/React.createElement("div", { 2897 style: { 2898 marginBottom: 16 2899 } 2900 }, /*#__PURE__*/React.createElement(EyebrowPill, { 2901 variant: "neutral" 2902 }, "Why people give GoldCare")), /*#__PURE__*/React.createElement("h2", { 2903 className: "gc-h2", 2904 style: { 2905 marginBottom: 18 2906 } 2907 }, "The gift people actually thank you for")), /*#__PURE__*/React.createElement("div", { 2908 style: { 2909 display: 'grid', 2910 gridTemplateColumns: 'repeat(auto-fit,minmax(min(300px,100%),1fr))', 2911 gap: 20 2912 } 2913 }, /*#__PURE__*/React.createElement("div", { 2914 "data-reveal": true 2915 }, /*#__PURE__*/React.createElement(Testimonial, { 2916 quote: "We spent 30 full minutes and it was the best medical appointment I have had in years. Fact-based, and from someone very clearly looking to help.", 2917 name: "Scott S.", 2918 location: "Seal Beach, CA" 2919 })), /*#__PURE__*/React.createElement("div", { 2920 "data-reveal": true 2921 }, /*#__PURE__*/React.createElement(Testimonial, { 2922 quote: "Such a relief to meet a provider who speaks freely. I look forward to productive dialogue.", 2923 name: "Pamela J.", 2924 location: "Dandridge, TN" 2925 })), /*#__PURE__*/React.createElement("div", { 2926 "data-reveal": true 2927 }, /*#__PURE__*/React.createElement(Testimonial, { 2928 quote: "I didn't think I needed GoldCare until I did. When my family faced an unexpected health issue, it was there with the tools and guidance we needed.", 2929 name: "Maria D.", 2930 location: "San Antonio, TX" 2931 }))))), /*#__PURE__*/React.createElement("section", { 2932 id: "pricing", 2933 style: { 2934 background: '#0C0C0D', 2935 color: '#FCFCFD' 2936 } 2937 }, /*#__PURE__*/React.createElement("div", { 2938 style: { 2939 ...CONTAINER, 2940 paddingTop: 'clamp(64px,8vw,108px)', 2941 paddingBottom: 'clamp(64px,8vw,108px)' 2942 } 2943 }, /*#__PURE__*/React.createElement("div", { 2944 "data-reveal": true, 2945 style: { 2946 maxWidth: 700, 2947 marginBottom: 'clamp(40px,5vw,56px)' 2948 } 2949 }, /*#__PURE__*/React.createElement("div", { 2950 style: { 2951 fontSize: 12, 2952 fontWeight: 600, 2953 letterSpacing: '0.18px', 2954 textTransform: 'uppercase', 2955 color: '#CF9842', 2956 marginBottom: 16 2957 } 2958 }, "The biggest offer we've ever made"), /*#__PURE__*/React.createElement("h2", { 2959 className: "gc-h2-dark", 2960 style: { 2961 marginBottom: 18 2962 } 2963 }, "Five memberships. $500 total.", /*#__PURE__*/React.createElement("br", null), "The lowest price, ever."), /*#__PURE__*/React.createElement("p", { 2964 style: { 2965 fontSize: 'clamp(15px,1.3vw,17px)', 2966 lineHeight: 1.6, 2967 color: '#A8A7AF', 2968 margin: 0, 2969 maxWidth: '56ch'
2970 } 2971 }, "For less than the cost of one rushed specialist visit, you can give five families a full year inside GoldCare. We've never discounted this deeply, and after tonight it's gone.")), /*#__PURE__*/React.createElement("div", { 2972 "data-reveal": true, 2973 style: { 2974 display: 'grid', 2975 gridTemplateColumns: 'repeat(auto-fit,minmax(min(320px,100%),1fr))', 2976 gap: 'clamp(24px,3vw,40px)', 2977 alignItems: 'center' 2978 } 2979 }, /*#__PURE__*/React.createElement("div", null, [['Buy 5 separately', '5 annual family memberships', '$1,495', 'strike'], ['The Gift of Freedom', '5 annual family memberships', '$500', 'gold'], ['Existing member price', '5 annual family memberships', '$400', 'white']].map((r, i, arr) => /*#__PURE__*/React.createElement("div", { 2980 key: r[0], 2981 style: { 2982 display: 'flex', 2983 alignItems: 'center', 2984 justifyContent: 'space-between', 2985 gap: 16, 2986 padding: '20px 4px', 2987 borderBottom: i < arr.length - 1 ? '1px solid #2C2C30' : 'none' 2988 } 2989 }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", { 2990 style: { 2991 fontSize: 16, 2992 fontWeight: r[3] === 'strike' ? 500 : 600, 2993 color: r[3] === 'gold' ? '#F1AA41' : '#FCFCFD' 2994 } 2995 }, r[0]), /*#__PURE__*/React.createElement("div", { 2996 style: { 2997 fontSize: 13, 2998 color: '#8C8B94', 2999 marginTop: 3 3000 } 3001 }, r[1])), /*#__PURE__*/React.createElement("div", { 3002 style: { 3003 fontSize: 'clamp(24px,2.6vw,30px)', 3004 fontWeight: r[3] === 'strike' ? 500 : 600, 3005 letterSpacing: '-0.02em', 3006 color: r[3] === 'gold' ? '#F1AA41' : r[3] === 'strike' ? '#8C8B94' : '#FCFCFD', 3007 textDecoration: r[3] === 'strike' ? 'line-through' : 'none', 3008 textDecorationThickness: 2, 3009 whiteSpace: 'nowrap' 3010 } 3011 }, r[2]))), /*#__PURE__*/React.createElement("div", { 3012 style: { 3013 display: 'flex', 3014 alignItems: 'flex-start', 3015 gap: 10, 3016 marginTop: 24, 3017 padding: '16px 18px', 3018 borderRadius: 14, 3019 background: 'rgba(241,170,65,0.1)', 3020 border: '1px solid rgba(241,170,65,0.26)' 3021 } 3022 }, /*#__PURE__*/React.createElement("i", { 3023 "data-lucide": "trending-down", 3024 style: { 3025 width: 19, 3026 height: 19, 3027 color: '#F1AA41', 3028 flexShrink: 0, 3029 marginTop: 1 3030 } 3031 }), /*#__PURE__*/React.createElement("span", { 3032 style: { 3033 fontSize: 14.5, 3034 lineHeight: 1.5 3035 } 3036 }, "You save up to ", /*#__PURE__*/React.createElement("strong", { 3037 style: { 3038 color: '#F1AA41', 3039 fontWeight: 600 3040 } 3041 }, "$1,095"), ", and give four other families the same care you wanted for your own."))), /*#__PURE__*/React.createElement("div", { 3042 style: { 3043 background: '#FCFCFD', 3044 color: '#0C0C0D', 3045 borderRadius: 22, 3046 padding: 'clamp(28px,3vw,36px)', 3047 boxShadow: '0 30px 70px -30px rgba(241,170,65,0.4)' 3048 } 3049 }, /*#__PURE__*/React.createElement("div", { 3050 style: { 3051 fontSize: 12, 3052 fontWeight: 600, 3053 letterSpacing: '0.18px', 3054 textTransform: 'uppercase', 3055 color: '#B07D2A', 3056 marginBottom: 6 3057 } 3058 }, "The Gift of Freedom"), /*#__PURE__*/React.createElement("div", { 3059 style: { 3060 fontSize: 15, 3061 color: '#63626A', 3062 marginBottom: 20 3063 } 3064 }, "5 annual family memberships"), /*#__PURE__*/React.createElement("div", { 3065 style: { 3066 display: 'flex', 3067 alignItems: 'flex-end', 3068 gap: 16, 3069 marginBottom: 6 3070 } 3071 }, /*#__PURE__*/React.createElement("div", { 3072 style: { 3073 fontSize: 'clamp(52px,7vw,64px)', 3074 fontWeight: 600, 3075 letterSpacing: '-0.03em', 3076 lineHeight: 0.85 3077 } 3078 }, "$500"), /*#__PURE__*/React.createElement("div", { 3079 style: { 3080 paddingBottom: 6 3081 } 3082 }, /*#__PURE__*/React.createElement("div", { 3083 style: { 3084 fontSize: 20, 3085 color: '#A8A7AF', 3086 textDecoration: 'line-through', 3087 textDecorationThickness: 2, 3088 fontWeight: 500, 3089 lineHeight: 1 3090 } 3091 }, "$1,495"), /*#__PURE__*/React.createElement("div", { 3092 style: { 3093 fontSize: 12.5, 3094 color: '#63626A', 3095 marginTop: 3 3096 } 3097 }, "standard value"))), /*#__PURE__*/React.createElement("div", { 3098 style: { 3099 fontSize: 13.5, 3100 color: '#1B1B1D', 3101 marginBottom: 22 3102 } 3103 }, "Existing members pay just ", /*#__PURE__*/React.createElement("strong", { 3104 style: { 3105 fontWeight: 600 3106 } 3107 }, "$400"), " at checkout."), /*#__PURE__*/React.createElement(Button, { 3108 variant: "gold", 3109 size: "lg", 3110 icon: "gift", 3111 fullWidth: true, 3112 href: "#pricing" 3113 }, "Claim the $500 package"), /*#__PURE__*/React.createElement("div", { 3114 style: { 3115 display: 'flex', 3116 alignItems: 'center', 3117 justifyContent: 'center', 3118 gap: 7, 3119 marginTop: 13, 3120 fontSize: 12.5, 3121 color: '#63626A' 3122 } 3123 }, /*#__PURE__*/React.createElement("i", { 3124 "data-lucide": "clock", 3125 style: { 3126 width: 14, 3127 height: 14, 3128 color: '#CF9842' 3129 } 3130 }), "Today only \xB7 ends in ", /*#__PURE__*/React.createElement("span", { 3131 style: { 3132 fontVariantNumeric: 'tabular-nums', 3133 fontWeight: 600, 3134 color: '#B07D2A' 3135 } 3136 }, cd)))))), /*#__PURE__*/React.createElement("section", { 3137 id: "faq", 3138 style: { 3139 ...CONTAINER, 3140 paddingTop: SECTION_Y, 3141 paddingBottom: SECTION_Y 3142 } 3143 }, /*#__PURE__*/React.createElement("div", { 3144 style: { 3145 maxWidth: 920, 3146 margin: '0 auto' 3147 } 3148 }, /*#__PURE__*/React.createElement("div", { 3149 "data-reveal": true, 3150 style: { 3151 textAlign: 'center', 3152 marginBottom: 40 3153 } 3154 }, /*#__PURE__*/React.createElement("div", { 3155 style: { 3156 marginBottom: 14, 3157 display: 'flex', 3158 justifyContent: 'center' 3159 } 3160 }, /*#__PURE__*/React.createElement(EyebrowPill, { 3161 variant: "neutral" 3162 }, "Questions, answered")), /*#__PURE__*/React.createElement("h2", { 3163 className: "gc-h2" 3164 }, "Before you give")), /*#__PURE__*/React.createElement("div", { 3165 "data-reveal": true 3166 }, /*#__PURE__*/React.createElement(FAQ, { 3167 defaultOpen: 0, 3168 items: [{ 3169 q: 'Is there auto-renewal on the gifted memberships?', 3170 a: 'No auto-renewal on gifted memberships. Each family owns and controls their own account and decides whether to continue after the year.' 3171 }, {
3172 q: 'Do recipients need a card to redeem?', 3173 a: 'No card needed to redeem. You send a gift by email or shareable link, and each family activates in under two minutes.' 3174 }, { 3175 q: 'Is GoldCare available everywhere?', 3176 a: 'Yes â GoldCare is available in all 50 states.' 3177 }, { 3178 q: 'Can I keep one membership for my own family?', 3179 a: 'Yes. The package is five memberships: keep one for your family and gift the other four.' 3180 }] 3181 })))), /*#__PURE__*/React.createElement("section", { 3182 style: { 3183 background: '#0C0C0D', 3184 color: '#FCFCFD' 3185 } 3186 }, /*#__PURE__*/React.createElement("div", { 3187 style: { 3188 ...CONTAINER, 3189 paddingTop: 'clamp(64px,8vw,108px)', 3190 paddingBottom: 'clamp(64px,8vw,108px)', 3191 textAlign: 'center', 3192 maxWidth: 760 3193 } 3194 }, /*#__PURE__*/React.createElement("div", { 3195 "data-reveal": true 3196 }, /*#__PURE__*/React.createElement("h2", { 3197 className: "gc-h2-dark", 3198 style: { 3199 marginBottom: 18 3200 } 3201 }, "Give five families a year of ", /*#__PURE__*/React.createElement("em", { 3202 className: "gc-accent" 3203 }, "freedom.")), /*#__PURE__*/React.createElement("p", { 3204 style: { 3205 fontSize: 'clamp(15px,1.3vw,17px)', 3206 lineHeight: 1.6, 3207 color: '#A8A7AF', 3208 margin: '0 auto 28px', 3209 maxWidth: '48ch' 3210 } 3211 }, "The offer ends tonight. After that, the $500 price is gone."), /*#__PURE__*/React.createElement("div", { 3212 style: { 3213 display: 'flex', 3214 justifyContent: 'center' 3215 } 3216 }, /*#__PURE__*/React.createElement(Button, { 3217 variant: "gold", 3218 size: "lg", 3219 icon: "gift", 3220 href: "#pricing" 3221 }, "Claim 5 memberships now")), /*#__PURE__*/React.createElement("div", { 3222 style: { 3223 marginTop: 16, 3224 fontSize: 13, 3225 color: '#8C8B94' 3226 } 3227 }, "No auto-renewal on gifts \xB7 No card to redeem \xB7 Available in all 50 states")))), /*#__PURE__*/React.createElement(SiteFooter, { 3228 logoSrc: LOGO, 3229 tagline: "Private, doctor-led membership care. Available in all 50 states.", 3230 columns: [{ 3231 title: 'Membership', 3232 links: [{ 3233 label: 'How it works', 3234 href: '#how' 3235 }, { 3236 label: "What's included", 3237 href: '#includes' 3238 }, { 3239 label: 'Gift GoldCare', 3240 href: '#pricing' 3241 }] 3242 }, { 3243 title: 'Company', 3244 links: [{ 3245 label: 'About', 3246 href: '#' 3247 }, { 3248 label: 'Our doctors', 3249 href: '#' 3250 }, { 3251 label: 'Contact', 3252 href: '#' 3253 }] 3254 }], 3255 legalLinks: [{ 3256 label: 'Privacy', 3257 href: '#' 3258 }, { 3259 label: 'Terms', 3260 href: '#' 3261 }, { 3262 label: 'PMA', 3263 href: '#' 3264 }] 3265 }), /*#__PURE__*/React.createElement("div", { 3266 style: { 3267 position: 'fixed', 3268 left: 0, 3269 right: 0, 3270 bottom: 0, 3271 zIndex: 60 3272 } 3273 }, /*#__PURE__*/React.createElement(StickyMobileCTA, { 3274 price: "$500", 3275 caption: "Today only \xB7 ends in", 3276 countdown: cd, 3277 ctaLabel: "Claim", 3278 ctaHref: "#pricing" 3279 }))); 3280} 3281window.GiftLanding = GiftLanding; 3282})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/marketing/GiftLanding.jsx", error: String((e && e.message) || e) }); } 3283
3284// ui_kits/portal/PortalHome.jsx 3285try { (() => { 3286// GoldCare â Member Portal Home recreation (concierge app UI). 3287// Built from the documented portal copy: greeting, upcoming appointments, 3288// need-assistance, tokens balance, recommended classes. Near-monochrome, gold 3289// used sparingly. Composed from the design-system components. 3290// Exposes <PortalHome/> on window for index.html. 3291 3292const PNS = window.GoldCareDesignSystem_520b26; 3293const { 3294 Button, 3295 IconButton, 3296 Card, 3297 Avatar, 3298 Badge, 3299 StatsBand 3300} = PNS; 3301const LOGO_FULL = '../../assets/goldcare-logo.svg'; 3302const MARK = '../../assets/goldcare-icon.svg'; 3303function NavItem({ 3304 icon, 3305 label, 3306 active, 3307 badge 3308}) { 3309 const [hover, setHover] = React.useState(false); 3310 return /*#__PURE__*/React.createElement("a", { 3311 href: "#", 3312 onClick: e => e.preventDefault(), 3313 onMouseEnter: () => setHover(true), 3314 onMouseLeave: () => setHover(false), 3315 style: { 3316 display: 'flex', 3317 alignItems: 'center', 3318 gap: 12, 3319 padding: '10px 12px', 3320 borderRadius: 'var(--radius-md)', 3321 textDecoration: 'none', 3322 background: active ? 'var(--surface-secondary)' : hover ? 'var(--bg-band)' : 'transparent', 3323 color: active ? 'var(--text-primary)' : 'var(--text-secondary)', 3324 fontSize: 14, 3325 fontWeight: active ? 600 : 500, 3326 transition: 'background var(--duration-fast), color var(--duration-fast)' 3327 } 3328 }, /*#__PURE__*/React.createElement("i", { 3329 "data-lucide": icon, 3330 style: { 3331 width: 19, 3332 height: 19 3333 } 3334 }), /*#__PURE__*/React.createElement("span", { 3335 style: { 3336 flex: 1 3337 } 3338 }, label), badge && /*#__PURE__*/React.createElement("span", { 3339 style: { 3340 fontSize: 11, 3341 fontWeight: 600, 3342 color: 'var(--text-gold)', 3343 background: 'var(--gold-pill-bg)', 3344 padding: '2px 7px', 3345 borderRadius: 9999 3346 } 3347 }, badge)); 3348} 3349function PortalHome() { 3350 React.useEffect(() => { 3351 window.lucide && window.lucide.createIcons(); 3352 }); 3353 return /*#__PURE__*/React.createElement("div", { 3354 style: { 3355 display: 'flex', 3356 minHeight: '100vh', 3357 background: '#FCFCFD', 3358 color: '#0C0C0D', 3359 fontFamily: 'var(--font-sans)' 3360 } 3361 }, /*#__PURE__*/React.createElement("aside", { 3362 style: { 3363 width: 248, 3364 flexShrink: 0, 3365 borderRight: '1px solid var(--border-secondary)', 3366 padding: '22px 16px', 3367 display: 'flex', 3368 flexDirection: 'column', 3369 gap: 24, 3370 position: 'sticky', 3371 top: 0, 3372 height: '100vh' 3373 } 3374 }, /*#__PURE__*/React.createElement("div", { 3375 style: { 3376 padding: '0 6px' 3377 } 3378 }, /*#__PURE__*/React.createElement("img", { 3379 src: LOGO_FULL, 3380 alt: "GoldCare", 3381 style: { 3382 height: 24 3383 } 3384 })), /*#__PURE__*/React.createElement("nav", { 3385 style: { 3386 display: 'flex', 3387 flexDirection: 'column', 3388 gap: 2 3389 } 3390 }, /*#__PURE__*/React.createElement(NavItem, { 3391 icon: "home", 3392 label: "Home", 3393 active: true 3394 }), /*#__PURE__*/React.createElement(NavItem, { 3395 icon: "calendar", 3396 label: "Appointments", 3397 badge: "3" 3398 }), /*#__PURE__*/React.createElement(NavItem, { 3399 icon: "graduation-cap", 3400 label: "WellnessU" 3401 }), /*#__PURE__*/React.createElement(NavItem, { 3402 icon: "users", 3403 label: "Community" 3404 }), /*#__PURE__*/React.createElement(NavItem, { 3405 icon: "sparkles", 3406 label: "GoldCare AI" 3407 }), /*#__PURE__*/React.createElement(NavItem, { 3408 icon: "shopping-bag", 3409 label: "Store" 3410 }), /*#__PURE__*/React.createElement(NavItem, { 3411 icon: "shield-check", 3412 label: "Be-Ready" 3413 })), /*#__PURE__*/React.createElement("div", { 3414 style: { 3415 marginTop: 'auto', 3416 display: 'flex', 3417 flexDirection: 'column', 3418 gap: 2 3419 } 3420 }, /*#__PURE__*/React.createElement(NavItem, { 3421 icon: "settings", 3422 label: "Settings" 3423 }), /*#__PURE__*/React.createElement(NavItem, { 3424 icon: "life-buoy", 3425 label: "Need assistance?" 3426 }), /*#__PURE__*/React.createElement("div", { 3427 style: { 3428 display: 'flex', 3429 alignItems: 'center', 3430 gap: 11, 3431 padding: '12px 10px', 3432 marginTop: 8, 3433 borderTop: '1px solid var(--border-secondary)' 3434 } 3435 }, /*#__PURE__*/React.createElement(Avatar, { 3436 name: "Rachel M.", 3437 size: 36 3438 }), /*#__PURE__*/React.createElement("div", { 3439 style: { 3440 minWidth: 0 3441 } 3442 }, /*#__PURE__*/React.createElement("div", { 3443 style: { 3444 fontSize: 13.5, 3445 fontWeight: 600 3446 } 3447 }, "Rachel M."), /*#__PURE__*/React.createElement("div", { 3448 style: { 3449 fontSize: 12, 3450 color: 'var(--text-tertiary)', 3451 display: 'flex', 3452 alignItems: 'center', 3453 gap: 5 3454 } 3455 }, /*#__PURE__*/React.createElement("span", { 3456 style: { 3457 width: 6, 3458 height: 6, 3459 borderRadius: 9999, 3460 background: 'var(--gold-primary)' 3461 } 3462 }), "295 Tokens"))))), /*#__PURE__*/React.createElement("main", { 3463 style: { 3464 flex: 1, 3465 minWidth: 0 3466 } 3467 }, /*#__PURE__*/React.createElement("header", { 3468 style: { 3469 display: 'flex', 3470 alignItems: 'center', 3471 gap: 16, 3472 padding: '18px 32px', 3473 borderBottom: '1px solid var(--border-secondary)', 3474 position: 'sticky', 3475 top: 0, 3476 background: 'rgba(252,252,253,0.92)', 3477 backdropFilter: 'saturate(180%) blur(8px)', 3478 zIndex: 10 3479 } 3480 }, /*#__PURE__*/React.createElement("div", { 3481 style: { 3482 display: 'flex', 3483 alignItems: 'center', 3484 gap: 10, 3485 flex: 1, 3486 maxWidth: 420, 3487 background: 'var(--surface-secondary)', 3488 borderRadius: 9999, 3489 padding: '9px 14px' 3490 } 3491 }, /*#__PURE__*/React.createElement("i", { 3492 "data-lucide": "search", 3493 style: { 3494 width: 17, 3495 height: 17, 3496 color: 'var(--text-tertiary)' 3497 } 3498 }), /*#__PURE__*/React.createElement("input", { 3499 placeholder: "Search appointments, classes, doctors", 3500 style: { 3501 border: 'none', 3502 outline: 'none', 3503 background: 'transparent', 3504 fontFamily: 'var(--font-sans)', 3505 fontSize: 13.5, 3506 color: 'var(--text-primary)', 3507 width: '100%' 3508 } 3509 })), /*#__PURE__*/React.createElement("div", { 3510 style: { 3511 marginLeft: 'auto', 3512 display: 'flex', 3513 alignItems: 'center', 3514 gap: 10 3515 } 3516 }, /*#__PURE__*/React.createElement(IconButton, { 3517 icon: "bell", 3518 variant: "outline", 3519 ariaLabel: "Notifications" 3520 }), /*#__PURE__*/React.createElement(Button, { 3521 variant: "primary", 3522 icon: "plus" 3523 }, "Schedule an appointment"))), /*#__PURE__*/React.createElement("div", { 3524 style: { 3525 padding: '32px', 3526 maxWidth: 1080 3527 } 3528 }, /*#__PURE__*/React.createElement("div", { 3529 style: { 3530 marginBottom: 28 3531 } 3532 }, /*#__PURE__*/React.createElement("div", { 3533 style: { 3534 fontSize: 12, 3535 fontWeight: 600, 3536 letterSpacing: '0.18px', 3537 textTransform: 'uppercase', 3538 color: 'var(--text-tertiary)', 3539 marginBottom: 8 3540 } 3541 }, "Thursday, July 2"), /*#__PURE__*/React.createElement("h1", { 3542 style: { 3543 fontSize: 32, 3544 fontWeight: 500, 3545 letterSpacing: '-0.02em', 3546 margin: 0 3547 } 3548 }, "Welcome back to GoldCare, Rachel")), /*#__PURE__*/React.createElement("div", { 3549 style: { 3550 marginBottom: 28 3551 } 3552 }, /*#__PURE__*/React.createElement(StatsBand, { 3553 stats: [{ 3554 value: '3', 3555 label: 'upcoming appointments' 3556 }, {
3557 value: '295', 3558 label: 'tokens available' 3559 }, { 3560 value: '2', 3561 label: 'classes in progress' 3562 }, { 3563 value: '4.9', 3564 label: 'your care rating', 3565 star: true 3566 }] 3567 })), /*#__PURE__*/React.createElement("div", { 3568 style: { 3569 display: 'grid', 3570 gridTemplateColumns: '1.6fr 1fr', 3571 gap: 20 3572 } 3573 }, /*#__PURE__*/React.createElement(Card, { 3574 variant: "default", 3575 padding: 0, 3576 style: { 3577 boxShadow: 'var(--shadow-gold-glow)', 3578 border: '1px solid var(--border-card)', 3579 overflow: 'hidden' 3580 } 3581 }, /*#__PURE__*/React.createElement("div", { 3582 style: { 3583 padding: '22px 24px', 3584 borderBottom: '1px solid var(--border-secondary)', 3585 display: 'flex', 3586 alignItems: 'center', 3587 justifyContent: 'space-between' 3588 } 3589 }, /*#__PURE__*/React.createElement("h2", { 3590 style: { 3591 fontSize: 20, 3592 fontWeight: 500, 3593 letterSpacing: '-0.01em', 3594 margin: 0 3595 } 3596 }, "Upcoming"), /*#__PURE__*/React.createElement("a", { 3597 href: "#", 3598 onClick: e => e.preventDefault(), 3599 style: { 3600 fontSize: 13.5, 3601 fontWeight: 600, 3602 color: 'var(--text-primary)', 3603 textDecoration: 'underline', 3604 textUnderlineOffset: 2 3605 } 3606 }, "View all")), /*#__PURE__*/React.createElement("div", null, [['Dr. Simone Gold', 'Annual wellness review', 'Today · 2:30 PM', 'video', true], ['Dr. Reni Moon', 'Follow-up consultation', 'Tomorrow · 10:00 AM', 'video', false], ['WellnessU', 'Metabol
3606ic health · Session 3', 'Fri · 4:00 PM', 'graduation-cap', false]].map(([dr, kind, when, icon, live], i) => /*#__PURE__*/React.createElement("div", { 3607 key: dr, 3608 style: { 3609 display: 'flex', 3610 alignItems: 'center', 3611 gap: 14, 3612 padding: '16px 24px', 3613 borderBottom: i < 2 ? '1px solid var(--border-secondary)' : 'none' 3614 } 3615 }, /*#__PURE__*/React.createElement("span", { 3616 style: { 3617 display: 'inline-flex', 3618 alignItems: 'center', 3619 justifyContent: 'center', 3620 width: 42, 3621 height: 42, 3622 borderRadius: 'var(--radius-md)', 3623 background: 'var(--surface-secondary)', 3624 color: 'var(--text-strong)', 3625 flexShrink: 0 3626 } 3627 }, /*#__PURE__*/React.createElement("i", { 3628 "data-lucide": icon, 3629 style: { 3630 width: 20, 3631 height: 20 3632 } 3633 })), /*#__PURE__*/React.createElement("div", { 3634 style: { 3635 flex: 1, 3636 minWidth: 0 3637 } 3638 }, /*#__PURE__*/React.createElement("div", { 3639 style: { 3640 fontSize: 15, 3641 fontWeight: 600 3642 } 3643 }, dr), /*#__PURE__*/React.createElement("div", { 3644 style: { 3645 fontSize: 13, 3646 color: 'var(--text-secondary)' 3647 } 3648 }, kind)), /*#__PURE__*/React.createElement("div", { 3649 style: { 3650 textAlign: 'right' 3651 } 3652 }, /*#__PURE__*/React.createElement("div", { 3653 style: { 3654 fontSize: 13, 3655 fontWeight: 600, 3656 color: 'var(--text-primary)' 3657 } 3658 }, when), live ? /*#__PURE__*/React.createElement("div", { 3659 style: { 3660 marginTop: 4 3661 } 3662 }, /*#__PURE__*/React.createElement(Badge, { 3663 tone: "goldSoft", 3664 dot: true 3665 }, "Starts soon")) : /*#__PURE__*/React.createElement("a", { 3666 href: "#", 3667 onClick: e => e.preventDefault(), 3668 style: { 3669 fontSize: 12.5, 3670 color: 'var(--text-secondary)', 3671 textDecoration: 'none' 3672 } 3673 }, "Open details")))))), /*#__PURE__*/React.createElement("div", { 3674 style: { 3675 display: 'flex', 3676 flexDirection: 'column', 3677 gap: 20 3678 } 3679 }, /*#__PURE__*/React.createElement(Card, { 3680 variant: "default" 3681 }, /*#__PURE__*/React.createElement("div", { 3682 style: { 3683 display: 'flex', 3684 alignItems: 'flex-start', 3685 gap: 12 3686 } 3687 }, /*#__PURE__*/React.createElement("span", { 3688 style: { 3689 display: 'inline-flex', 3690 alignItems: 'center', 3691 justifyContent: 'center', 3692 width: 30, 3693 height: 30, 3694 borderRadius: 9999, 3695 background: 'var(--success-surface)', 3696 color: 'var(--success-text)', 3697 flexShrink: 0 3698 } 3699 }, /*#__PURE__*/React.createElement("i", { 3700 "data-lucide": "check", 3701 style: { 3702 width: 17, 3703 height: 17 3704 } 3705 })), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", { 3706 style: { 3707 fontSize: 15.5, 3708 fontWeight: 600, 3709 marginBottom: 3 3710 } 3711 }, "Need assistance?"), /*#__PURE__*/React.createElement("div", { 3712 style: { 3713 fontSize: 13.5, 3714 lineHeight: 1.5, 3715 color: 'var(--text-secondary)', 3716 marginBottom: 14 3717 } 3718 }, "Your concierge team responds in minutes, any time of day."), /*#__PURE__*/React.createElement(Button, { 3719 variant: "secondary", 3720 size: "sm", 3721 iconRight: "arrow-right" 3722 }, "Message concierge")))), /*#__PURE__*/React.createElement(Card, { 3723 variant: "default", 3724 style: { 3725 background: '#0C0C0D', 3726 color: '#FCFCFD', 3727 border: '1px solid #0C0C0D' 3728 } 3729 }, /*#__PURE__*/React.createElement("div", { 3730 style: { 3731 fontSize: 12, 3732 fontWeight: 600, 3733 letterSpacing: '0.18px', 3734 textTransform: 'uppercase', 3735 color: '#CF9842', 3736 marginBottom: 10 3737 } 3738 }, "Your balance"), /*#__PURE__*/React.createElement("div", { 3739 style: { 3740 display: 'flex', 3741 alignItems: 'flex-end', 3742 gap: 10 3743 } 3744 }, /*#__PURE__*/React.createElement("span", { 3745 style: { 3746 fontSize: 40, 3747 fontWeight: 600, 3748 letterSpacing: '-0.02em', 3749 lineHeight: 1 3750 } 3751 }, "295"), /*#__PURE__*/React.createElement("span", { 3752 style: { 3753 fontSize: 14, 3754 color: '#A8A7AF', 3755 paddingBottom: 4 3756 } 3757 }, "Tokens")), /*#__PURE__*/React.createElement("div", { 3758 style: { 3759 fontSize: 13, 3760 color: '#8C8B94', 3761 margin: '12px 0 16px' 3762 } 3763 }, "Use tokens for visits, classes, and Be-Ready essentials."), /*#__PURE__*/React.createElement(Button, { 3764 variant: "gold", 3765 size: "sm", 3766 icon: "plus", 3767 fullWidth: true 3768 }, "Add tokens")))), /*#__PURE__*/React.createElement("div", { 3769 style: { 3770 marginTop: 34 3771 } 3772 }, /*#__PURE__*/React.createElement("div", { 3773 style: { 3774 display: 'flex', 3775 alignItems: 'center', 3776 justifyContent: 'space-between', 3777 marginBottom: 16 3778 } 3779 }, /*#__PURE__*/React.createElement("div", { 3780 style: { 3781 display: 'inline-flex', 3782 alignItems: 'center', 3783 gap: 8, 3784 background: 'var(--gold-pill-bg)', 3785 padding: '6px 12px', 3786 borderRadius: 9999 3787 } 3788 }, /*#__PURE__*/React.createElement("span", { 3789 style: { 3790 width: 6, 3791 height: 6, 3792 borderRadius: 9999, 3793 background: 'var(--gold-deep)' 3794 } 3795 }), /*#__PURE__*/React.createElement("span", { 3796 style: { 3797 fontSize: 11.5, 3798 fontWeight: 600, 3799 letterSpacing: '0.16px', 3800 textTransform: 'uppercase', 3801 color: 'var(--gold-ink-2)' 3802 } 3803 }, "Recommended classes for you")), /*#__PURE__*/React.createElement("a", { 3804 href: "#", 3805 onClick: e => e.preventDefault(), 3806 style: { 3807 fontSize: 13.5, 3808 fontWeight: 600, 3809 color: 'var(--text-primary)', 3810 textDecoration: 'underline', 3811 textUnderlineOffset: 2 3812 } 3813 }, "Browse WellnessU")), /*#__PURE__*/React.createElement("div", { 3814 style: { 3815 display: 'grid', 3816 gridTemplateColumns: 'repeat(3, 1fr)', 3817 gap: 18 3818 } 3819 }
3819, [['heart-pulse', 'Metabolic health basics', '6 lessons · Dr. Reni Moon'], ['pill', 'Understanding your labs', '4 lessons · Dr. Simone Gold'], ['brain', 'Stress & sleep', '5 lessons · Dr. Jana Schmidt']].map(([icon, title, meta]) => /*#__PURE__*/React.createElement(Card, { 3820 key: title, 3821 variant: "default", 3822 style: { 3823 cursor: 'pointer' 3824 } 3825 }, /*#__PURE__*/React.createElement("span", { 3826 style: { 3827 display: 'inline-flex', 3828 alignItems: 'center', 3829 justifyContent: 'center', 3830 width: 44, 3831 height: 44, 3832 borderRadius: 9999, 3833 background: 'var(--gold-gradient-icon)', 3834 color: '#fff', 3835 marginBottom: 14 3836 } 3837 }, /*#__PURE__*/React.createElement("i", { 3838 "data-lucide": icon, 3839 style: { 3840 width: 21, 3841 height: 21 3842 } 3843 })), /*#__PURE__*/React.createElement("div", { 3844 style: { 3845 fontSize: 15.5, 3846 fontWeight: 600, 3847 marginBottom: 4 3848 } 3849 }, title), /*#__PURE__*/React.createElement("div", { 3850 style: { 3851 fontSize: 13, 3852 color: 'var(--text-secondary)' 3853 } 3854 }, meta)))))))); 3855} 3856window.PortalHome = PortalHome; 3857})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/portal/PortalHome.jsx", error: String((e && e.message) || e) }); } 3858 3859__ds_ns.Button = __ds_scope.Button; 3860 3861__ds_ns.IconButton = __ds_scope.IconButton; 3862 3863__ds_ns.Avatar = __ds_scope.Avatar; 3864 3865__ds_ns.Card = __ds_scope.Card; 3866 3867__ds_ns.StatsBand = __ds_scope.StatsBand; 3868 3869__ds_ns.Alert = __ds_scope.Alert; 3870 3871__ds_ns.Badge = __ds_scope.Badge; 3872
3873__ds_ns.Modal = __ds_scope.Modal; 3874 3875__ds_ns.Tooltip = __ds_scope.Tooltip; 3876 3877__ds_ns.Checkbox = __ds_scope.Checkbox; 3878 3879__ds_ns.Input = __ds_scope.Input; 3880 3881__ds_ns.Radio = __ds_scope.Radio; 3882 3883__ds_ns.Select = __ds_scope.Select; 3884 3885__ds_ns.Switch = __ds_scope.Switch; 3886 3887__ds_ns.AnnouncementBar = __ds_scope.AnnouncementBar; 3888 3889__ds_ns.EyebrowPill = __ds_scope.EyebrowPill; 3890 3891__ds_ns.FAQ = __ds_scope.FAQ; 3892 3893__ds_ns.FeatureCard = __ds_scope.FeatureCard; 3894 3895__ds_ns.ShowcaseCard = __ds_scope.ShowcaseCard; 3896 3897__ds_ns.Steps = __ds_scope.Steps; 3898 3899__ds_ns.Testimonial = __ds_scope.Testimonial; 3900 3901__ds_ns.SiteFooter = __ds_scope.SiteFooter; 3902 3903__ds_ns.SiteHeader = __ds_scope.SiteHeader; 3904 3905__ds_ns.StickyMobileCTA = __ds_scope.StickyMobileCTA; 3906 3907})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.