.modal-overlay[data-astro-cid-ts5yewrr]{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}.modal-overlay[data-astro-cid-ts5yewrr][aria-hidden=false]{display:flex}.modal-backdrop[data-astro-cid-ts5yewrr]{position:absolute;inset:0;background:#2f2b34b3;backdrop-filter:blur(4px);cursor:pointer}.modal-container[data-astro-cid-ts5yewrr]{position:relative;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;z-index:1}.modal-content[data-astro-cid-ts5yewrr]{background:#f2f1ed;border-radius:10px;padding:50px 40px;position:relative;box-shadow:0 20px 60px #0000004d}.modal-close[data-astro-cid-ts5yewrr]{position:absolute;top:20px;right:20px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:#737373;transition:all .2s ease-in-out;border-radius:50%;z-index:2}.modal-close[data-astro-cid-ts5yewrr]:hover{background:#715c8f1a;color:#715c8f;transform:scale(1.1)}.modal-heading[data-astro-cid-ts5yewrr]{font-family:var(--font-montreux-grotesk-soft);font-size:38px;line-height:52px;letter-spacing:0;font-weight:400;color:#2f2b34;text-align:center;margin:0 0 12px}.modal-subtext[data-astro-cid-ts5yewrr]{font-family:var(--font-montreux-classic);font-size:15px;font-weight:400;line-height:24px;color:#737373;text-align:center;margin:0 0 40px}.honeypot[data-astro-cid-ts5yewrr]{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.form-logo[data-astro-cid-ts5yewrr]{display:flex;justify-content:center;align-items:center;margin-bottom:24px}.logo-image[data-astro-cid-ts5yewrr]{height:70px;width:auto;display:block}.contact-form[data-astro-cid-ts5yewrr]{display:flex;flex-direction:column;gap:20px}.form-group[data-astro-cid-ts5yewrr]{display:flex;flex-direction:column;gap:6px}.form-label[data-astro-cid-ts5yewrr]{font-family:var(--font-montreux-grotesk-soft);font-size:14px;font-weight:600;color:#2f2b34;letter-spacing:0}.form-input[data-astro-cid-ts5yewrr],.form-textarea[data-astro-cid-ts5yewrr]{background:#f7f7f4;border:1px solid rgba(38,37,30,.1);border-radius:3px;height:42px;padding:0 14px;font-family:var(--font-montreux-classic);font-size:15px;font-weight:400;line-height:24px;color:#2f2b34;transition:all .3s ease-in-out}.form-textarea[data-astro-cid-ts5yewrr]{height:auto;padding:10px 14px;resize:vertical;min-height:100px}.form-input[data-astro-cid-ts5yewrr]:focus,.form-textarea[data-astro-cid-ts5yewrr]:focus{outline:none;border-color:#715c8f;box-shadow:0 0 0 2px #715c8f33}.form-input[data-astro-cid-ts5yewrr]::placeholder,.form-textarea[data-astro-cid-ts5yewrr]::placeholder{color:#737373;opacity:.6}.form-input[data-astro-cid-ts5yewrr].error,.form-textarea[data-astro-cid-ts5yewrr].error{border-color:#d93025;box-shadow:0 0 0 2px #d930251a}.form-error[data-astro-cid-ts5yewrr]{font-family:var(--font-montreux-classic);font-size:13px;line-height:18px;color:#d93025;display:none}.form-error[data-astro-cid-ts5yewrr].show{display:block}.form-submit[data-astro-cid-ts5yewrr]{background:#8c9a89;color:#fff;padding:0 40px;height:42px;border-radius:3px;font-family:var(--font-montreux-grotesk-soft);font-weight:600;font-size:16px;line-height:42px;border:none;cursor:pointer;transition:all .3s ease-in-out;white-space:nowrap;margin-top:8px;margin-bottom:16px;display:flex;align-items:center;justify-content:center;gap:8px}.form-submit[data-astro-cid-ts5yewrr]:hover:not(:disabled){background:#715c8f;transform:translateY(-2px);box-shadow:0 4px 12px #715c8f4d}.form-submit[data-astro-cid-ts5yewrr]:disabled{opacity:.6;cursor:not-allowed}.submit-loader[data-astro-cid-ts5yewrr]{display:flex;align-items:center;gap:8px}@keyframes spin{to{transform:rotate(360deg)}}.spinner[data-astro-cid-ts5yewrr]{animation:spin .8s linear infinite}.form-message[data-astro-cid-ts5yewrr]{display:flex;gap:14px;padding:16px;border-radius:3px;font-family:var(--font-montreux-classic);margin-top:8px}.form-success[data-astro-cid-ts5yewrr]{background:#e6f4ea;border:1px solid #8c9a89;color:#2f2b34}.form-success[data-astro-cid-ts5yewrr] svg[data-astro-cid-ts5yewrr]{color:#8c9a89;flex-shrink:0}.form-error-box[data-astro-cid-ts5yewrr]{background:#fce8e6;border:1px solid #d93025;color:#2f2b34}.form-error-box[data-astro-cid-ts5yewrr] svg[data-astro-cid-ts5yewrr]{color:#d93025;flex-shrink:0}.form-message[data-astro-cid-ts5yewrr] strong[data-astro-cid-ts5yewrr]{font-family:var(--font-montreux-grotesk-soft);font-size:15px;font-weight:600;display:block;margin-bottom:2px}.form-message[data-astro-cid-ts5yewrr] p[data-astro-cid-ts5yewrr]{font-size:14px;line-height:20px;margin:0}.form-message[data-astro-cid-ts5yewrr] a[data-astro-cid-ts5yewrr]{color:#715c8f;text-decoration:underline}.form-message[data-astro-cid-ts5yewrr] a[data-astro-cid-ts5yewrr]:hover{opacity:.8}@media(max-width:768px){.modal-content[data-astro-cid-ts5yewrr]{padding:40px 30px}.modal-heading[data-astro-cid-ts5yewrr]{font-size:30px;line-height:42px}.logo-image[data-astro-cid-ts5yewrr]{height:55px}}@media(max-width:480px){.modal-container[data-astro-cid-ts5yewrr]{max-height:95vh}.modal-content[data-astro-cid-ts5yewrr]{padding:30px 20px}.modal-heading[data-astro-cid-ts5yewrr]{font-size:26px;line-height:36px}.modal-subtext[data-astro-cid-ts5yewrr]{font-size:14px;line-height:22px}.logo-image[data-astro-cid-ts5yewrr]{height:45px}.form-submit[data-astro-cid-ts5yewrr]{width:100%}}@font-face{font-family:Neue Haas Unica;src:url(/fonts/Neue%20Haas%20Unica%20W1G%20Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Neue Haas Unica;src:url(/fonts/Neue%20Haas%20Unica%20W1G.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Neue Haas Unica;src:url(/fonts/Neue%20Haas%20Unica%20W1G%20Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Neue Haas Unica;src:url(/fonts/Neue%20Haas%20Unica%20W1G%20Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Montreux Grotesk Soft;src:url(/fonts/MontreuxGS-Rg.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montreux Grotesk Soft;src:url(/fonts/MontreuxGS-DmBd.otf) format("opentype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Montreux Classic;src:url(/fonts/MontreuxG-Rg.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-theme-text);background-color:var(--color-theme-bg);position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.03;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='3.8' numOctaves='4' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' /%3E%3C/svg%3E")}:root{--color-brand-purple: #715c8f;--color-brand-blue-gray: #8C99B9;--color-brand-sage-green: #8c9a89;--color-brand-olive: #7A8B6F;--color-brand-cream: #F2E5D9;--color-brand-off-white: #FAF9F6;--color-brand-gray: #737373;--color-theme-bg: var(--color-brand-off-white);--color-theme-fg: #2f2b34;--color-theme-fg-02: #5a5a5a;--color-theme-accent: var(--color-brand-purple);--color-theme-secondary: var(--color-brand-blue-gray);--color-theme-card-bg: #ffffff;--color-theme-card-border: rgba(38, 37, 30, .03);--color-theme-glass-bg: rgba(255, 255, 255, .65);--color-theme-glass-border: rgba(255, 255, 255, .4);--color-theme-card-hex: var(--color-theme-card-bg);--color-theme-card-01-hex: #f4ebe1;--color-theme-card-02-hex: #f0e4d8;--color-theme-card-03-hex: #ebdece;--color-theme-card-04-hex: #e6d8c4;--color-theme-card-hover-hex: #f0e4d8;--color-theme-card-hover-light-hex: #f4ebe1;--color-theme-fg-01: color-mix(in oklab, var(--color-theme-fg) 1%, transparent);--color-theme-fg-02-5: color-mix(in oklab, var(--color-theme-fg) 2.5%, transparent);--color-theme-fg-05: color-mix(in oklab, var(--color-theme-fg) 5%, transparent);--color-theme-fg-07-5: color-mix(in oklab, var(--color-theme-fg) 7.5%, transparent);--color-theme-fg-10: color-mix(in oklab, var(--color-theme-fg) 10%, transparent);--color-theme-fg-15: color-mix(in oklab, var(--color-theme-fg) 15%, transparent);--color-theme-fg-20: color-mix(in oklab, var(--color-theme-fg) 20%, transparent);--color-theme-border-01: #73737306;--color-theme-border-01-5: #7373730d;--color-theme-border-02: #7373731a;--color-theme-border-02-5: #73737333;--color-theme-border-03: #73737399;--color-theme-border: var(--color-theme-border-01);--color-theme-text: #2f2b34;--color-theme-text-sec: #737373;--color-theme-text-tertiary: #73737366;--color-theme-product-text: #737373eb;--color-theme-product-text-sec: #73737399;--color-theme-product-text-tertiary: #73737366;--color-theme-button-bg: var(--color-brand-purple);--color-theme-button-text: #ffffff;--color-theme-button-hover-bg: #5d4a73;--color-theme-button-hover-border: #5d4a73;--color-theme-button-hover-text: #ffffff;--color-theme-button-sec-bg: transparent;--color-theme-button-sec-border: var(--color-brand-purple);--color-theme-button-sec-text: var(--color-brand-purple);--color-red-50: oklch(97.1% .013 17.38);--color-red-100: oklch(93.6% .032 17.717);--color-red-300: oklch(80.8% .114 19.571);--color-red-400: oklch(70.4% .191 22.216);--color-red-500: oklch(63.7% .237 25.331);--color-red-600: oklch(57.7% .245 27.325);--color-red-900: oklch(39.6% .141 25.723);--color-green-50: oklch(98.2% .018 155.826);--color-green-500: oklch(72.3% .219 149.579);--color-green-600: oklch(62.7% .194 149.214);--color-green-800: oklch(44.8% .119 151.328);--color-green-900: oklch(39.3% .095 152.535);--color-blue-50: oklch(97% .014 254.604);--color-blue-500: oklch(62.3% .214 259.815);--color-blue-800: oklch(42.4% .199 265.638);--color-blue-900: oklch(37.9% .146 265.522);--color-gray-50: oklch(98.5% .002 247.839);--color-gray-100: oklch(96.7% .003 264.542);--color-gray-200: oklch(92.8% .006 264.531);--color-gray-300: oklch(87.2% .01 258.338);--color-gray-400: oklch(70.7% .022 261.325);--color-gray-500: oklch(55.1% .027 264.364);--color-gray-600: oklch(44.6% .03 256.802);--color-gray-700: oklch(37.3% .034 259.733);--color-gray-800: oklch(27.8% .033 256.848);--color-gray-900: oklch(21% .034 264.665);--color-theme-product-ansi-green: #1f8a65;--color-theme-product-ansi-red: #cf2d56;--color-theme-product-line-inserted-line-background: #1f8a6514;--color-theme-product-removed-line-background: #cf2d560f;--color-theme-product-chrome: var(--color-theme-card-hex);--color-theme-product-editor: var(--color-theme-bg);--color-theme-bg-10: color-mix(in oklab, var(--color-theme-bg) 10%, transparent);--font-sans: "Neue Haas Unica", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-montreux: "Montreux G", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-nyt-cheltenham: "NYT Cheltenham", "Times New Roman", Times, serif;--font-montreux-grotesk-soft: "Montreux Grotesk Soft", "Montreux G", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-montreux-jazz: "Montreux Jazz", "Montreux G", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-montreux-classic: "Montreux Classic", "Montreux G", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-berkeley-mono: "berkeleyMono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-system: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1.125rem;--text-md-sm: 1.25rem;--text-md: 1.5rem;--text-md-lg: 1.75rem;--text-lg: 2.25rem;--text-xl: 3.25rem;--text-2xl: 4.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--text-product-sm: .6875rem;--text-product-base: .75rem;--text-product-lg: .8125rem;--text-slack-sm: .75rem;--text-slack-base: .875rem;--text-slack-lg: 1rem;--katex-font-size: 1.15rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--leading-tight: 1.1;--leading-2xsnug: 1.15;--leading-xsnug: 1.2;--leading-snug: 1.25;--leading-snug-plus: 1.3;--leading-cozy: 1.4;--leading-normal: 1.6;--leading-relaxed: 1.75;--leading-product-sm: 1.27273;--leading-product-base: 1.33333;--leading-product-base-mono: 1.25rem;--text-xs--line-height: calc(1 / .75);--text-sm--line-height: calc(1.25 / .875);--text-base--line-height: calc(1.6 / 1.125);--text-lg--line-height: calc(1.75 / 1.125);--text-2xl--line-height: calc(2 / 1.5);--text-3xl--line-height: 1.2 ;--text-4xl--line-height: calc(2.5 / 2.25);--tracking-sm: .01em;--tracking-base: .005em;--tracking-md: -.01em;--tracking-md-lg: -.02em;--tracking-lg: -.03em;--tracking-xl: -.04em;--tracking-2xl: -.05em;--tracking-product-sm: .0044em;--spacing: .25rem;--g: .625rem ;--spacing-g0.25: calc(var(--g) * .25);--spacing-g0.5: calc(var(--g) * .5);--spacing-g0.75: calc(var(--g) * .75);--spacing-g1: calc(var(--g) * 1);--spacing-g1.25: calc(var(--g) * 1.25);--spacing-g1.5: calc(var(--g) * 1.5);--spacing-g1.75: calc(var(--g) * 1.75);--spacing-g2: calc(var(--g) * 2);--spacing-g2.5: calc(var(--g) * 2.5);--spacing-g3: calc(var(--g) * 3);--grid-gap: .8rem ;--v: 1.4rem ;--spacing-v1/12: calc(var(--v) * 1 / 12);--spacing-v2/12: calc(var(--v) * 2 / 12);--spacing-v2.5/12: calc(var(--v) * 2.5 / 12);--spacing-v3/12: calc(var(--v) * 3 / 12);--spacing-v4/12: calc(var(--v) * 4 / 12);--spacing-v5/12: calc(var(--v) * 5 / 12);--spacing-v6/12: calc(var(--v) * 6 / 12);--spacing-v7/12: calc(var(--v) * 7 / 12);--spacing-v8/12: calc(var(--v) * 8 / 12);--spacing-v9/12: calc(var(--v) * 9 / 12);--spacing-v1: calc(var(--v));--spacing-v1.25: calc(var(--v) * 1.25);--spacing-v1.5: calc(var(--v) * 1.5);--spacing-v2: calc(var(--v) * 2);--spacing-v2.5: calc(var(--v) * 2.5);--spacing-v3: calc(var(--v) * 3);--spacing-v4: calc(var(--v) * 4);--spacing-v4.5: calc(var(--v) * 4.5);--spacing-v5: calc(var(--v) * 5);--spacing-v6: calc(var(--v) * 6);--container-2xs: 18rem;--container-sm: 24rem;--container-md: 28rem;--container-2xl: 42rem;--container-3xl: 48rem;--container-4xl: 56rem;--max-width-container: 1400px;--spacing-prose-narrow: 48ch;--spacing-prose-medium-wide: 80ch;--spacing-prose-wide: 96ch;--site-header-height: 56px;--site-sticky-top: 64px;--section-padding-lg: 120px;--section-padding-md: 90px;--section-padding-sm: 60px;--radius-2xs: 2px;--radius-xs: 4px;--radius-sm: .25rem;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 32px;--radius-pill: 9999px;--shadow-outline-theme: 0 0 0 1px var(--color-theme-border-02);--shadow-flyout: 0 0 1rem rgba(0,0,0,.02), 0 0 .5rem rgba(0,0,0,.01);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -2px rgba(0, 0, 0, .025);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .05), 0 10px 10px -5px rgba(0, 0, 0, .02);--shadow-soft-purple: 0 20px 40px -5px rgba(113, 92, 143, .12), 0 10px 20px -5px rgba(113, 92, 143, .08);--shadow-soft-green: 0 20px 40px -5px rgba(140, 154, 137, .15), 0 10px 20px -5px rgba(140, 154, 137, .08);--shadow-card-hover: 0 30px 60px -10px rgba(47, 43, 52, .08), 0 10px 20px -5px rgba(47, 43, 52, .04);--shadow-purple-glow: 0 0 30px rgba(113, 92, 143, .15);--tw-shadow: 0 0 #0000;--tw-shadow-alpha: 100%;--tw-ring-shadow: 0 0 #0000;--tw-ring-offset-shadow: 0 0 #0000;--tw-inset-shadow: 0 0 #0000;--tw-inset-ring-shadow: 0 0 #0000;--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-out-spring: cubic-bezier(.25, 1, .5, 1);--ease-elastic: cubic-bezier(.34, 1.56, .64, 1);--default-transition-duration: .15s;--duration: .14s;--duration-normal: .3s;--duration-slow: .5s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--transition-spring: all .6s cubic-bezier(.34, 1.56, .64, 1);--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--button-padding-default: .89em 1.45em .91em;--button-padding-md-sm: .64em 1.2em .66em;--button-padding-sm: .45em .8em .46em;--button-padding-xs: .15em .5em;--tw-gradient-from: #0000;--tw-gradient-to: #0000;--tw-gradient-via: #0000;--tw-gradient-from-position: 0;--tw-gradient-via-position: 50%;--tw-gradient-to-position: 100%}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);color:var(--color-theme-text)}h1{font-size:var(--text-4xl);letter-spacing:var(--tracking-2xl)}h2{font-size:var(--text-3xl);letter-spacing:var(--tracking-xl)}h3{font-size:var(--text-lg);letter-spacing:var(--tracking-lg)}p{line-height:var(--leading-normal);letter-spacing:var(--tracking-base)}a{color:var(--color-theme-accent);text-decoration:none;transition:opacity var(--duration) var(--ease-in-out)}a:hover{opacity:.8}button{font-family:inherit;cursor:pointer}img{max-width:100%;height:auto;display:block}.container{max-width:var(--max-width-container);margin-inline:auto;padding-inline:var(--spacing-v1)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.glass{background:#ffffffa6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4);box-shadow:0 8px 32px #1f26870d}.card-modern{background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.8);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:var(--transition-spring)}.card-modern:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover);background:#fffffff2}.animated-bg-mesh{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1;overflow:hidden}.animated-bg-mesh:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 20% 30%,rgba(113,92,143,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(140,154,137,.06) 0%,transparent 45%),radial-gradient(ellipse at 60% 80%,rgba(242,229,217,.1) 0%,transparent 50%),radial-gradient(ellipse at 10% 70%,rgba(140,154,137,.05) 0%,transparent 40%);animation:meshFloat 30s ease-in-out infinite}@keyframes meshFloat{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(2%,1%) rotate(1deg)}50%{transform:translate(-1%,2%) rotate(-.5deg)}75%{transform:translate(1%,-1%) rotate(.5deg)}}.text-gradient-purple{background:linear-gradient(135deg,var(--color-brand-purple) 0%,#4a3b5e 50%,var(--color-brand-blue-gray) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-sage{background:linear-gradient(135deg,var(--color-brand-sage-green) 0%,#6b7a68 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-warm{background:linear-gradient(135deg,var(--color-brand-purple) 0%,var(--color-brand-sage-green) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-shadow-soft{text-shadow:0 2px 10px rgba(47,43,52,.08)}.text-shadow-glow-purple{text-shadow:0 0 30px rgba(113,92,143,.3),0 0 60px rgba(113,92,143,.1)}.text-shadow-glow-sage{text-shadow:0 0 30px rgba(140,154,137,.3),0 0 60px rgba(140,154,137,.1)}.glow-purple{box-shadow:0 0 20px #715c8f40,0 0 40px #715c8f26,0 0 60px #715c8f0d}.glow-sage{box-shadow:0 0 20px #8c9a894d,0 0 40px #8c9a8926,0 0 60px #8c9a890d}.glow-pulse-purple{animation:glowPulsePurple 3s ease-in-out infinite}.glow-pulse-sage{animation:glowPulseSage 3s ease-in-out infinite}@keyframes glowPulsePurple{0%,to{box-shadow:0 0 20px #715c8f33,0 4px 15px #715c8f4d}50%{box-shadow:0 0 30px #715c8f59,0 4px 20px #715c8f66}}@keyframes glowPulseSage{0%,to{box-shadow:0 0 20px #8c9a8933,0 4px 15px #8c9a894d}50%{box-shadow:0 0 30px #8c9a8959,0 4px 20px #8c9a8966}}.shimmer{position:relative;overflow:hidden}.shimmer:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:shimmerSlide 3s ease-in-out infinite;pointer-events:none}@keyframes shimmerSlide{0%{left:-100%}50%,to{left:100%}}.gradient-border{position:relative;background:var(--color-theme-card-bg);border-radius:var(--radius-xl)}.gradient-border:before{content:"";position:absolute;inset:0;padding:2px;border-radius:inherit;background:linear-gradient(135deg,var(--color-brand-purple) 0%,var(--color-brand-sage-green) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s ease;pointer-events:none}.gradient-border:hover:before{opacity:1}.float{animation:float 6s ease-in-out infinite}.float-slow{animation:float 10s ease-in-out infinite}.float-fast{animation:float 4s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.pulse-ring{position:relative}.pulse-ring:after{content:"";position:absolute;inset:-4px;border-radius:inherit;border:2px solid var(--color-brand-purple);opacity:0;animation:pulseRing 2s ease-out infinite;pointer-events:none}@keyframes pulseRing{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.btn-ripple:active:before{width:300px;height:300px}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.animate-fade-up{animation:fadeUp .6s var(--ease-out-spring) forwards;opacity:0}.animate-fade-in{animation:fadeIn .6s var(--ease-out-spring) forwards;opacity:0}.animate-scale-in{animation:scaleIn .5s var(--ease-elastic) forwards;opacity:0}.animate-slide-right{animation:slideRight .6s var(--ease-out-spring) forwards;opacity:0}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideRight{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.draw-line{stroke-dasharray:1000;stroke-dashoffset:1000;animation:drawLine 2s ease-out forwards}@keyframes drawLine{to{stroke-dashoffset:0}}.star-shimmer{position:relative}.star-shimmer:after{content:"";position:absolute;top:0;left:-50%;width:50%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.6) 50%,transparent 100%);animation:starShimmer 4s ease-in-out infinite}@keyframes starShimmer{0%,to{left:-50%;opacity:0}50%{left:100%;opacity:1}}@media(prefers-reduced-motion:reduce){.animated-bg-mesh:before,.shimmer:after,.star-shimmer:after,.pulse-ring:after,.float,.float-slow,.float-fast,.glow-pulse-purple,.glow-pulse-sage,.animate-fade-up,.animate-fade-in,.animate-scale-in,.animate-slide-right,.draw-line{animation:none}.animate-fade-up,.animate-fade-in,.animate-scale-in,.animate-slide-right{opacity:1;transform:none}}
