:root{color-scheme:dark;--bg-base: #020617;--bg-surface: #0f172a;--bg-overlay: rgba(2, 6, 23, .78);--bg-overlay-heavy: rgba(2, 6, 23, .92);--bg-card: linear-gradient(180deg, rgba(15, 23, 42, .92), rgba(2, 6, 23, .98));--bg-card-contrast: rgba(15, 23, 42, .78);--bg-card-highlight: rgba(15, 23, 42, .82);--bg-panel: linear-gradient(180deg, rgba(2, 6, 23, 1), rgba(15, 23, 42, .98));--bg-input: rgba(2, 6, 23, .92);--bg-section-muted: rgba(15, 23, 42, .5);--bg-section-cta: rgba(15, 23, 42, .45);--bg-button-secondary: rgba(15, 23, 42, .8);--bg-button-secondary-hover: rgba(15, 23, 42, 1);--bg-tag: rgba(15, 23, 42, .92);--bg-icon-chip: rgba(2, 6, 23, .95);--bg-tooltip: rgba(15, 23, 42, .98);--bg-shell: linear-gradient(180deg, #0f172a 0%, #020617 18%, #020617 100%);--bg-body-glow: radial-gradient(circle at top, rgba(56, 189, 248, .08), transparent 35%);--text-primary: #e2e8f0;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-faint: #708399;--text-heading: #fff;--text-placeholder: #475569;--text-error: #f87171;--text-on-accent: #020617;--accent: #7dd3fc;--accent-bright: #38bdf8;--accent-glow-04: rgba(56, 189, 248, .04);--accent-glow-08: rgba(56, 189, 248, .08);--accent-glow-12: rgba(56, 189, 248, .12);--accent-glow-15: rgba(56, 189, 248, .15);--accent-glow-20: rgba(56, 189, 248, .2);--accent-glow-30: rgba(56, 189, 248, .3);--accent-glow-35: rgba(56, 189, 248, .35);--accent-blue-glow: rgba(59, 130, 246, .1);--accent-shadow: rgba(14, 165, 233, .18);--border: rgba(51, 65, 85, .95);--border-light: rgba(51, 65, 85, .9);--border-muted: rgba(30, 41, 59, .95);--border-muted-light: rgba(30, 41, 59, .6);--border-icon: rgba(71, 85, 105, 1);--border-icon-hover: rgba(100, 116, 139, 1);--border-focus: #38bdf8;--border-focus-ring: rgba(56, 189, 248, .15);--border-cyan: rgba(8, 47, 73, .6);--border-cyan-dark: rgba(8, 47, 73, .55);--border-cyan-focus: rgba(8, 47, 73, .65);--border-cyan-faint: rgba(8, 47, 73, .22);--border-teal: rgba(14, 116, 144, .65);--border-glossary: rgba(125, 211, 252, .45);--grid-line: rgba(148, 163, 184, .18);--shadow-card: rgba(0, 0, 0, .18);--shadow-tooltip: rgba(0, 0, 0, .35);--shadow-featured: rgba(8, 47, 73, .18);--bg-featured: linear-gradient(180deg, rgba(8, 47, 73, .35), rgba(2, 6, 23, 1));--bg-integration-glow: radial-gradient(circle at center, rgba(56, 189, 248, .08), transparent 65%);--bg-cta-glow: radial-gradient(ellipse at 30% 50%, rgba(56, 189, 248, .04), transparent 60%);--bg-hero-glow-1: radial-gradient(circle at 20% 20%, rgba(56, 189, 248, .12), transparent 22%);--bg-hero-glow-2: radial-gradient(circle at 80% 30%, rgba(59, 130, 246, .1), transparent 24%);--bg-button-light: #f8fafc;--text-button-light: #020617;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:var(--text-primary);background:var(--bg-base);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=light]{color-scheme:light;--bg-base: #f5f3f0;--bg-surface: #ede9e4;--bg-overlay: rgba(245, 243, 240, .85);--bg-overlay-heavy: rgba(245, 243, 240, .95);--bg-card: linear-gradient(180deg, #ffffff, #f8f6f3);--bg-card-contrast: rgba(255, 255, 255, .85);--bg-card-highlight: rgba(255, 255, 255, .9);--bg-panel: linear-gradient(180deg, #ffffff, #f8f6f3);--bg-input: #ffffff;--bg-section-muted: rgba(237, 233, 228, .5);--bg-section-cta: rgba(237, 233, 228, .6);--bg-button-secondary: rgba(255, 255, 255, .8);--bg-button-secondary-hover: rgba(255, 255, 255, 1);--bg-tag: rgba(255, 255, 255, .9);--bg-icon-chip: rgba(255, 255, 255, .95);--bg-tooltip: rgba(255, 255, 255, .98);--bg-shell: linear-gradient(180deg, #ede9e4 0%, #f5f3f0 18%, #f5f3f0 100%);--bg-body-glow: radial-gradient(circle at top, rgba(14, 165, 233, .06), transparent 35%);--text-primary: #1e293b;--text-secondary: #334155;--text-muted: #64748b;--text-faint: #7a8899;--text-heading: #0f172a;--text-placeholder: #7a8899;--text-error: #dc2626;--text-on-accent: #ffffff;--accent: #0369a1;--accent-bright: #0284c7;--accent-glow-04: rgba(14, 165, 233, .04);--accent-glow-08: rgba(14, 165, 233, .06);--accent-glow-12: rgba(14, 165, 233, .08);--accent-glow-15: rgba(14, 165, 233, .1);--accent-glow-20: rgba(14, 165, 233, .12);--accent-glow-30: rgba(14, 165, 233, .18);--accent-glow-35: rgba(14, 165, 233, .22);--accent-blue-glow: rgba(37, 99, 235, .06);--accent-shadow: rgba(14, 165, 233, .12);--border: rgba(203, 213, 225, .8);--border-light: rgba(203, 213, 225, .6);--border-muted: rgba(226, 232, 240, .9);--border-muted-light: rgba(226, 232, 240, .5);--border-icon: rgba(203, 213, 225, .9);--border-icon-hover: rgba(148, 163, 184, .9);--border-focus: #0284c7;--border-focus-ring: rgba(14, 165, 233, .15);--border-cyan: rgba(14, 165, 233, .2);--border-cyan-dark: rgba(14, 165, 233, .15);--border-cyan-focus: rgba(14, 165, 233, .3);--border-cyan-faint: rgba(14, 165, 233, .08);--border-teal: rgba(20, 184, 166, .35);--border-glossary: rgba(3, 105, 161, .35);--grid-line: rgba(148, 163, 184, .12);--shadow-card: rgba(0, 0, 0, .06);--shadow-tooltip: rgba(0, 0, 0, .12);--shadow-featured: rgba(14, 165, 233, .08);--bg-featured: linear-gradient(180deg, rgba(224, 242, 254, .5), #ffffff);--bg-integration-glow: radial-gradient(circle at center, rgba(14, 165, 233, .06), transparent 65%);--bg-cta-glow: radial-gradient(ellipse at 30% 50%, rgba(14, 165, 233, .04), transparent 60%);--bg-hero-glow-1: radial-gradient(circle at 20% 20%, rgba(14, 165, 233, .08), transparent 22%);--bg-hero-glow-2: radial-gradient(circle at 80% 30%, rgba(37, 99, 235, .06), transparent 24%);--bg-button-light: #0f172a;--text-button-light: #f8fafc}@media (prefers-color-scheme: light){:root:not([data-theme]){color-scheme:light;--bg-base: #f5f3f0;--bg-surface: #ede9e4;--bg-overlay: rgba(245, 243, 240, .85);--bg-overlay-heavy: rgba(245, 243, 240, .95);--bg-card: linear-gradient(180deg, #ffffff, #f8f6f3);--bg-card-contrast: rgba(255, 255, 255, .85);--bg-card-highlight: rgba(255, 255, 255, .9);--bg-panel: linear-gradient(180deg, #ffffff, #f8f6f3);--bg-input: #ffffff;--bg-section-muted: rgba(237, 233, 228, .5);--bg-section-cta: rgba(237, 233, 228, .6);--bg-button-secondary: rgba(255, 255, 255, .8);--bg-button-secondary-hover: rgba(255, 255, 255, 1);--bg-tag: rgba(255, 255, 255, .9);--bg-icon-chip: rgba(255, 255, 255, .95);--bg-tooltip: rgba(255, 255, 255, .98);--bg-shell: linear-gradient(180deg, #ede9e4 0%, #f5f3f0 18%, #f5f3f0 100%);--bg-body-glow: radial-gradient(circle at top, rgba(14, 165, 233, .06), transparent 35%);--text-primary: #1e293b;--text-secondary: #334155;--text-muted: #64748b;--text-faint: #7a8899;--text-heading: #0f172a;--text-placeholder: #7a8899;--text-error: #dc2626;--text-on-accent: #ffffff;--accent: #0369a1;--accent-bright: #0284c7;--accent-glow-04: rgba(14, 165, 233, .04);--accent-glow-08: rgba(14, 165, 233, .06);--accent-glow-12: rgba(14, 165, 233, .08);--accent-glow-15: rgba(14, 165, 233, .1);--accent-glow-20: rgba(14, 165, 233, .12);--accent-glow-30: rgba(14, 165, 233, .18);--accent-glow-35: rgba(14, 165, 233, .22);--accent-blue-glow: rgba(37, 99, 235, .06);--accent-shadow: rgba(14, 165, 233, .12);--border: rgba(203, 213, 225, .8);--border-light: rgba(203, 213, 225, .6);--border-muted: rgba(226, 232, 240, .9);--border-muted-light: rgba(226, 232, 240, .5);--border-icon: rgba(203, 213, 225, .9);--border-icon-hover: rgba(148, 163, 184, .9);--border-focus: #0284c7;--border-focus-ring: rgba(14, 165, 233, .15);--border-cyan: rgba(14, 165, 233, .2);--border-cyan-dark: rgba(14, 165, 233, .15);--border-cyan-focus: rgba(14, 165, 233, .3);--border-cyan-faint: rgba(14, 165, 233, .08);--border-teal: rgba(20, 184, 166, .35);--border-glossary: rgba(3, 105, 161, .35);--grid-line: rgba(148, 163, 184, .12);--shadow-card: rgba(0, 0, 0, .06);--shadow-tooltip: rgba(0, 0, 0, .12);--shadow-featured: rgba(14, 165, 233, .08);--bg-featured: linear-gradient(180deg, rgba(224, 242, 254, .5), #ffffff);--bg-integration-glow: radial-gradient(circle at center, rgba(14, 165, 233, .06), transparent 65%);--bg-cta-glow: radial-gradient(ellipse at 30% 50%, rgba(14, 165, 233, .04), transparent 60%);--bg-hero-glow-1: radial-gradient(circle at 20% 20%, rgba(14, 165, 233, .08), transparent 22%);--bg-hero-glow-2: radial-gradient(circle at 80% 30%, rgba(37, 99, 235, .06), transparent 24%);--bg-button-light: #0f172a;--text-button-light: #f8fafc}}@keyframes blink{50%{opacity:0}}.skip-nav{position:absolute;top:-100%;left:0;z-index:100;padding:.75rem 1.25rem;background:var(--accent);color:var(--text-on-accent);font-weight:600;font-size:.9rem;text-decoration:none;border-radius:0 0 .5rem}.skip-nav:focus{top:0}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--border-focus);outline-offset:0;box-shadow:0 0 0 3px var(--border-focus-ring)}.chart-type-btn:focus-visible,.button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;box-shadow:0 0 0 3px var(--border-focus-ring)}.nav-demo-pulse{animation:demo-glow 3.5s ease-in-out infinite}@keyframes demo-glow{0%,to{color:var(--text-secondary)}50%{color:var(--accent)}}.hero-h1-wide{max-width:100%!important}.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;text-align:center}.stat-strip .stat-number{font-size:clamp(2.2rem,4vw,3rem);font-weight:800;letter-spacing:-.03em;color:var(--accent);line-height:1;margin-bottom:.35rem}.stat-strip .stat-label{font-size:.85rem;color:var(--text-muted);line-height:1.4}.pull-quote{border-left:3px solid var(--accent);padding:.75rem 1.25rem;font-size:1.05rem;font-style:italic;color:var(--text-secondary);line-height:1.7}.pull-quote-source{font-size:.82rem;color:var(--text-muted);font-style:normal;margin-top:.5rem}.stat-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.stat-card-grid .stat-card{border:1px solid var(--border);border-radius:1rem;padding:1.25rem;text-align:center;background:var(--bg-overlay-heavy)}.stat-card .stat-number{font-size:1.8rem;font-weight:800;color:var(--accent);line-height:1;margin-bottom:.35rem}.stat-card .stat-label{font-size:.82rem;color:var(--text-muted);line-height:1.4}@media (max-width: 759px){.stat-strip{grid-template-columns:1fr;gap:1rem}.stat-card-grid{grid-template-columns:1fr}}.process-steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:1rem;align-items:start;margin-top:2rem}.process-step{text-align:center;padding:1.25rem}.process-number{width:2.75rem;height:2.75rem;border-radius:50%;background:var(--accent-bright);color:var(--text-on-accent);font-size:1.3rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.process-arrow{display:flex;align-items:center;justify-content:center;color:var(--accent);padding-top:2rem}.process-arrow svg{animation:arrow-pulse 2s ease-in-out infinite}@media (max-width: 759px){.process-steps{grid-template-columns:1fr;gap:.5rem}.process-arrow{display:none}}.before-after-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center}.before-after-arrow{display:flex;align-items:center;justify-content:center;color:var(--accent);padding-top:1.5rem}.before-after-arrow svg{animation:arrow-pulse 2s ease-in-out infinite}@media (max-width: 759px){.before-after-grid{grid-template-columns:1fr;gap:1rem}.before-after-arrow{display:none}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--bg-body-glow),var(--bg-base)}a{color:inherit;text-decoration:none;transition:color .2s ease}a:hover:not(.button){color:var(--accent)!important}button,a{-webkit-tap-highlight-color:transparent}.glossary-term:hover{color:var(--accent)!important;border-bottom-color:var(--accent)}#root{min-height:100vh}.site-shell{position:relative;overflow:hidden;min-height:100vh;background:var(--bg-shell)}.background-grid{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;opacity:.22;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:44px 44px}.background-glow{pointer-events:none;position:absolute;inset-inline:0;top:0;height:36rem;background:radial-gradient(circle at top,var(--accent-glow-30),transparent 55%)}.section{position:relative;padding:4.5rem 1.5rem}.section-tight-top{padding-top:.75rem}.section-muted{border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);background:var(--bg-section-muted)}.section-footer-cta{border-top:1px solid var(--border-light);background:var(--bg-cta-glow),var(--bg-section-cta);padding-top:5rem;padding-bottom:5rem}.section-footer-cta:before{content:"";pointer-events:none;position:absolute;top:0;left:50%;transform:translate(-50%);width:min(100%,48rem);height:1px;background:linear-gradient(90deg,transparent,var(--accent-glow-35),transparent)}.section-divider{position:relative;padding-top:3.5rem}.section-divider:before{content:"";pointer-events:none;position:absolute;top:0;left:50%;transform:translate(-50%);width:min(100%,36rem);height:1px;background:linear-gradient(90deg,transparent,var(--accent-glow-20),transparent)}.container{position:relative;width:min(100%,72rem);margin:0 auto;overflow-wrap:break-word;word-break:break-word}.hero{border-bottom:1px solid var(--border-light)}.hero-accent{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-hero-glow-1),var(--bg-hero-glow-2)}.hero-with-illustration{position:relative}.page-hero-illustration{pointer-events:none;position:absolute;top:1.5rem;right:1.5rem;width:clamp(180px,22vw,280px);aspect-ratio:3 / 2;opacity:.12;color:var(--accent);display:flex;align-items:center;justify-content:center}.page-hero-illustration>svg{width:100%;height:100%;display:block}@media (max-width: 760px){.page-hero-illustration{display:none}}.hero-grid,.two-column-grid,.footer-cta-grid,.about-grid{display:grid;gap:2rem}.hero-grid{align-items:center}.eyebrow{margin:0 0 1rem;color:var(--accent);text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;font-weight:700}h1,h2,h3,p,ul{margin-top:0}h1{max-width:18ch;margin-bottom:1.25rem;font-size:clamp(2.4rem,5vw,4.2rem);line-height:1.05;letter-spacing:-.03em;color:var(--text-heading)}h2{max-width:24ch;margin-bottom:1rem;font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.12;letter-spacing:-.02em;color:var(--text-heading)}[id^=about-] h2{max-width:none;text-wrap:balance}h3{margin-bottom:0;font-size:1.2rem;line-height:1.25;color:var(--text-heading)}p,li{color:var(--text-secondary);font-size:1rem;line-height:1.8}.tagline{font-size:1rem;color:var(--text-muted);letter-spacing:.01em;margin-top:.75rem;margin-bottom:0}.tagline-platforms{color:var(--accent)}@media (max-width: 480px){.tagline{font-size:.9rem}.tagline-platforms{display:block;margin-top:.25rem}}.lead{max-width:46rem;font-size:1.12rem}.supporting-copy{max-width:48rem;margin-top:1rem;color:var(--text-muted);font-size:.95rem}.cta-row,.cta-stack{display:flex;gap:1rem}.cta-row{flex-wrap:wrap;margin-top:2rem}.cta-stack{flex-direction:column}.button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3rem;padding:.9rem 1.3rem;border-radius:1rem;border:1px solid transparent;font-weight:700;transition:transform .16s ease,border-color .16s ease,background .16s ease}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--accent-bright);color:var(--text-on-accent);box-shadow:0 12px 30px var(--accent-shadow)}.button-secondary{border-color:var(--border-icon);background:var(--bg-button-secondary);color:var(--text-primary)}.button-secondary:hover{border-color:var(--border-icon-hover);background:var(--bg-button-secondary-hover)}.button-light{background:var(--bg-button-light);color:var(--text-button-light)}.card-grid{display:grid;gap:1.5rem;margin-top:2.5rem}.card{border:1px solid var(--border);border-radius:1.75rem;background:var(--bg-card);padding:1.6rem;box-shadow:0 16px 40px var(--shadow-card);overflow-wrap:break-word;word-break:break-word}.card-contrast{border-color:var(--border-cyan);background:var(--bg-card-contrast);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card-highlight{position:relative;border-color:var(--border-cyan-focus);background:var(--bg-card-highlight);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panel-inner{border:1px solid var(--border);border-radius:1.25rem;background:var(--bg-panel);padding:1.25rem}.panel-label{margin-bottom:1rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700}.bullet-list{display:grid;gap:.8rem;padding-left:0;list-style:none}.bullet-list li{position:relative;padding-left:1rem}.bullet-list li:before{content:"";position:absolute;left:0;top:.7rem;width:.45rem;height:.45rem;border-radius:999px;background:var(--accent)}.service-title-row,.section-heading-inline{display:flex;align-items:center;gap:.85rem}.section-heading-inline{align-items:flex-start}.icon-chip{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:1px solid var(--border-icon);border-radius:1rem;background:var(--bg-icon-chip);color:var(--accent);flex-shrink:0}.icon-inline{color:var(--accent);flex-shrink:0}.integration-wrap:before{content:"";pointer-events:none;position:absolute;top:2rem;right:1.5rem;bottom:2rem;left:1.5rem;max-width:72rem;margin:0 auto;border:1px solid var(--border-cyan-faint);border-radius:2.25rem;background:var(--bg-integration-glow)}.integration-card{padding:2rem}.integration-flow{display:grid;gap:1rem;margin-top:2rem}.flow-node{border:1px solid var(--border);border-radius:1.25rem;background:var(--bg-panel);padding:1.25rem}.flow-node-featured{border-color:var(--border-teal);background:var(--bg-featured);box-shadow:0 12px 28px var(--shadow-featured)}.flow-arrow{display:none;align-items:center;justify-content:center;color:var(--accent);position:relative}.flow-arrow svg{animation:arrow-pulse 2s ease-in-out infinite}.typing-dots{display:inline-flex;align-items:center;gap:.25rem}.typing-dots span{width:.4rem;height:.4rem;border-radius:50%;background:var(--text-muted);animation:typing-bounce 1.2s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}[data-theme=light] .worldmap-dark{display:none!important}[data-theme=light] .worldmap-light{display:block!important}@media (prefers-color-scheme: light){:root:not([data-theme]) .worldmap-dark{display:none!important}:root:not([data-theme]) .worldmap-light{display:block!important}}@keyframes arrow-pulse{0%,to{opacity:.4;transform:translate(0)}50%{opacity:1;transform:translate(3px)}}.footer-logo{border-radius:3px;opacity:.7;box-shadow:0 0 0 1px var(--border-icon)}.tag-list{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}.tag{border:1px solid var(--border-icon);border-radius:999px;background:var(--bg-tag);padding:.45rem .85rem;color:var(--text-primary);font-size:.9rem}.experience-grid{display:grid;gap:.75rem;margin-top:1.5rem}.experience-item{border:1px solid var(--border);border-radius:1.1rem;background:var(--bg-overlay-heavy);padding:.95rem 1rem;color:var(--text-secondary);font-size:.95rem;line-height:1.7}.small-note{margin-top:1rem;color:var(--text-muted);font-size:.92rem}.glossary-term{position:relative;border-bottom:1px dotted var(--border-glossary);cursor:help}.glossary-tooltip{position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);width:max-content;max-width:20rem;padding:.75rem 1rem;border-radius:.75rem;border:1px solid var(--border);background:var(--bg-tooltip);color:var(--text-secondary);font-size:.85rem;line-height:1.6;font-weight:400;box-shadow:0 8px 24px var(--shadow-tooltip);z-index:30;pointer-events:none;white-space:normal}.glossary-tooltip strong{color:var(--accent);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}@media (max-width: 759px){.glossary-tooltip{left:0;transform:none;max-width:16rem}}.field-hint .glossary-tooltip{display:none}.field-hint:hover .glossary-tooltip,.field-hint:focus .glossary-tooltip{display:block}.contact-card{border-color:var(--border-cyan-dark)}.contact-card input:focus,.contact-card textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px var(--border-focus-ring)}.contact-card input::placeholder,.contact-card textarea::placeholder{color:var(--text-placeholder)}.floating-contact-button{position:fixed;bottom:1.5rem;right:1.5rem;z-index:40;display:flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;border-radius:50%;border:1px solid var(--border-icon);background:var(--accent-bright);color:var(--text-on-accent);cursor:pointer;box-shadow:0 8px 24px var(--accent-shadow);transition:transform .16s ease,box-shadow .16s ease}.floating-contact-button:before{content:"Ask James";position:absolute;right:calc(100% + .75rem);top:50%;transform:translateY(-50%);white-space:nowrap;padding:.4rem .75rem;border-radius:.5rem;background:var(--bg-tooltip);border:1px solid var(--border);color:var(--text-secondary);font-size:.82rem;font-weight:500;box-shadow:0 4px 12px var(--shadow-tooltip);opacity:0;pointer-events:none;transition:opacity .2s ease}.floating-contact-button:after{content:"";position:absolute;right:calc(100% + .35rem);top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:var(--border);opacity:0;pointer-events:none;transition:opacity .2s ease}.floating-contact-button:hover:before,.floating-contact-button:hover:after{opacity:1}.floating-contact-button:hover{transform:translateY(-2px);box-shadow:0 12px 32px var(--accent-shadow)}.floating-contact-button.chat-pulse{animation:chat-nudge .4s ease 3;box-shadow:0 0 0 6px var(--accent-glow-30),0 12px 32px var(--accent-shadow)}.floating-contact-button.chat-pulse:before,.floating-contact-button.chat-pulse:after{opacity:1}@keyframes chat-nudge{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.chat-bubble-ring{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;padding:3px;background:conic-gradient(from 0deg,var(--accent-bright),var(--accent),var(--accent-glow-30),var(--accent),var(--accent-bright));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;pointer-events:none;transition:opacity .22s ease}.floating-contact-button.chat-hover .chat-bubble-ring{opacity:1;animation:chat-ring-spin 2.4s linear infinite}@keyframes chat-ring-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.floating-contact-button.chat-hover .chat-bubble-ring{animation:none}}.scroll-to-top-button{position:fixed;bottom:1.5rem;right:5.5rem;z-index:40;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--bg-button-secondary);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #00000026}.scroll-to-top-button:hover{color:var(--accent);border-color:var(--accent-glow-20);transform:translateY(-2px);box-shadow:0 8px 24px #0003}@media (max-width: 480px){.floating-contact-button{bottom:1rem;right:1rem;width:2.75rem;height:2.75rem}.scroll-to-top-button{bottom:1rem;right:4.5rem;width:2.5rem;height:2.5rem}.contact-card{max-height:85vh}}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid var(--border-icon);border-radius:.625rem;background:var(--bg-icon-chip);color:var(--accent);cursor:pointer;transition:border-color .16s ease,background .16s ease}.theme-toggle:hover{border-color:var(--border-icon-hover)}@media (min-width: 760px){.services-grid,.experience-grid,.hero-grid,.two-column-grid,.footer-cta-grid,.about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.integration-flow{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center}.flow-arrow{display:flex}}@media (max-width: 759px){.section{padding:3.5rem 1rem}.section-footer-cta{padding-top:3.5rem;padding-bottom:3.5rem}.integration-wrap:before{inset-inline:1rem}h1,h2{max-width:100%}.button{width:100%;text-align:center}.cta-row{flex-direction:column}.footer-cta-grid{gap:2.5rem}}@media (max-width: 840px){.mobile-nav-toggle{display:flex!important}}@media (max-width: 540px){.mobile-anim-frame{display:none!important}}@media (max-width: 480px){.nav-brand-text{font-size:.88rem}.platform-badges{gap:.5rem}.footer-columns{grid-template-columns:1fr}}.footer-explore-links{columns:2;gap:1rem}@media (max-width: 480px){.footer-explore-links{columns:1}}.modal-overlay input,.modal-overlay select,.modal-overlay textarea{box-sizing:border-box}.support-button{background:#22c55e;border:none;border-radius:.5rem;color:#fff;cursor:pointer;padding:.3rem .65rem;display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;transition:background .15s;white-space:nowrap}.support-button:hover{background:#16a34a}@media (max-width: 480px){.support-button-text{display:none}}.demo-catalog{display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem}.tool-action-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;padding:.75rem 1rem;border-radius:.5rem;background:var(--bg-surface);border:1px solid var(--border);align-items:center}.demo-card{background:var(--bg-card);border:1px solid var(--border);border-radius:1rem;padding:1.25rem;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s;position:relative;font-family:inherit;color:var(--text-primary);width:240px;flex-shrink:0}.demo-card:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-glow-20)}.demo-card-active{border-color:var(--accent)!important;box-shadow:0 0 12px var(--accent-glow-20)!important}.demo-card:disabled{cursor:default;opacity:.6}.demo-card-illustration{border-radius:.5rem;background:var(--bg-surface);padding:.75rem;margin-bottom:.25rem}.demo-coming-badge{display:inline-block;margin-top:.5rem;font-size:.7rem;font-weight:600;color:var(--text-faint);background:var(--bg-surface);padding:.2rem .5rem;border-radius:.35rem;letter-spacing:.03em}@media (max-width: 480px){.demo-catalog{grid-template-columns:1fr 1fr;gap:.75rem}.demo-card{padding:1rem}}.import-dropzone{border:2px dashed var(--border);border-radius:.75rem;padding:2rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.import-dropzone:hover{border-color:var(--accent);background:var(--accent-glow-04)}.import-dropzone-active{border-color:var(--accent)!important;background:var(--accent-glow-08)!important}.report-controls{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:.75rem;background:var(--bg-surface)}.report-control-group{display:flex;flex-direction:column;gap:.3rem;min-width:8rem}.report-label{cursor:help;display:flex;align-items:center;gap:.3rem}.report-hint{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;border-radius:50%;background:var(--accent-glow-15);color:var(--accent);font-size:.65rem;font-weight:700;flex-shrink:0}@media (max-width: 640px){.report-controls{gap:.75rem}.report-control-group{min-width:calc(50% - .5rem)}}.modernization-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 759px){.modernization-grid{grid-template-columns:1fr}}.cron-fields-grid{grid-template-columns:repeat(5,1fr)}.markdown-split-grid,.datadiff-split-grid{grid-template-columns:1fr 1fr}.modernization-stats-grid{grid-template-columns:1fr 1fr 1fr}@media (max-width: 600px){.cron-fields-grid{grid-template-columns:repeat(3,1fr)}.markdown-split-grid,.datadiff-split-grid{grid-template-columns:1fr}.modernization-stats-grid{grid-template-columns:1fr 1fr 1fr}}@media (max-width: 400px){.cron-fields-grid{grid-template-columns:repeat(2,1fr)}.modernization-stats-grid{grid-template-columns:1fr}}.data-explorer{margin-top:.5rem}.formula-bar{display:flex;align-items:center;gap:.75rem;padding:.35rem .75rem;background:var(--bg-surface);border:1px solid var(--border);border-bottom:none;border-radius:.5rem .5rem 0 0;font-size:.8rem;font-family:SF Mono,Cascadia Code,Fira Code,monospace;min-height:2rem}.formula-cell-ref{color:var(--text-muted);min-width:2rem;font-weight:600}.formula-value{color:var(--text-primary)}.spreadsheet-table{border-collapse:collapse;width:100%;font-size:.85rem;font-variant-numeric:tabular-nums}.spreadsheet-table th{background:var(--bg-surface);color:var(--text-muted);font-weight:600;font-size:.72rem;text-align:center;padding:.3rem .5rem;border:1px solid var(--border);-webkit-user-select:none;user-select:none;letter-spacing:.02em}.spreadsheet-table th .col-label{font-weight:500;font-size:.7rem;color:var(--text-faint)}.spreadsheet-table td{padding:.35rem .6rem;border:1px solid var(--border);text-align:right;min-width:5.5rem;font-variant-numeric:tabular-nums;cursor:text;transition:background .1s}.spreadsheet-table td:hover{background:var(--accent-glow-04)}.spreadsheet-table td.row-header{background:var(--bg-surface);color:var(--text-muted);text-align:center;font-weight:600;font-size:.72rem;width:2.5rem;min-width:2.5rem;cursor:default}.spreadsheet-table td.month-cell{background:var(--bg-surface);color:var(--text-secondary);text-align:center;font-weight:500;cursor:default;min-width:3.5rem}.spreadsheet-table td.cell-selected{outline:2px solid #22c55e;outline-offset:-1px}.spreadsheet-table td[contenteditable]:focus{outline:2px solid #22c55e;outline-offset:-1px;background:var(--bg-input)}.chart-group{margin-top:2rem;border:1px solid var(--border);border-radius:.75rem;padding:1rem;background:var(--bg-overlay-heavy)}.chart-type-bar{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.text-link-btn{background:none;border:none;padding:0;color:var(--accent);font-size:inherit;cursor:pointer;text-decoration:none}.text-link-btn:hover{text-decoration:underline}.text-link-btn.active{font-weight:600;text-decoration:underline}.leaflet-container img{max-width:none}.chart-type-btn{padding:.35rem .75rem;border-radius:.5rem;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .15s}.chart-type-btn:hover{border-color:var(--accent)!important;color:var(--text-primary)!important}.chart-type-btn.active{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--text-on-accent)!important;font-weight:600}.chart-container{position:relative;width:100%;aspect-ratio:5 / 2}.chart-container canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important}@media (max-width: 640px){.spreadsheet-table{font-size:.78rem}.spreadsheet-table td{min-width:4.5rem;padding:.3rem .4rem}.spreadsheet-table th{font-size:.68rem}.chart-type-btn{font-size:.72rem;padding:.3rem .6rem}}
