:root{--color-bg:#16171d;--color-surface:#1e1f27;--color-surface-raised:#252631;--color-overlay:#16171dd9;--color-border:#2e303a;--color-border-muted:#1f2028;--color-text:#9ca3af;--color-text-heading:#f3f4f6;--color-text-muted:#6b7280;--color-text-inverse:#16171d;--color-accent:#a78bfa;--color-accent-dim:#7c3aed;--color-accent-subtle:#a78bfa1f;--color-accent-border:#a78bfa66;--color-success:#34d399;--color-warning:#fbbf24;--color-error:#f87171;--font-sans:system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "Fira Code", Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--tracking-tight:-.02em;--tracking-normal:0em;--tracking-wide:.04em;--tracking-widest:.1em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 6px #0006, 0 1px 3px #0000004d;--shadow-lg:0 10px 20px #00000080, 0 4px 8px #00000059;--shadow-xl:0 20px 40px #0009, 0 8px 16px #0006;--shadow-accent:0 0 20px #a78bfa40, 0 0 40px #a78bfa1a;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease;--transition-camera:.6s cubic-bezier(.4, 0, .2, 1);--z-scene:0;--z-overlay:10;--z-ui:20;--z-modal:30;--z-top:40}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}h1,h2,h3,h4,h5,h6{color:var(--color-text-heading);font-family:var(--font-sans);font-weight:600;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{line-height:var(--leading-relaxed)}code,pre,kbd{font-family:var(--font-mono);font-size:var(--text-sm)}a{color:var(--color-accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-text-heading)}#root{isolation:isolate;width:100%;height:100svh;position:relative}#root-shell{width:100%;height:100svh;position:relative;overflow:hidden}@keyframes bubble-in{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes bubble-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}.speech-bubble{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-lg), var(--shadow-accent);white-space:nowrap;pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none;transform-origin:bottom;animation:.2s cubic-bezier(.34,1.56,.64,1) both bubble-in}.speech-bubble__title{color:var(--color-text-heading);font-size:var(--text-sm);font-weight:600;line-height:var(--leading-tight);margin:0}.speech-bubble__subtitle{color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--leading-normal);margin:var(--space-1) 0 0}@media (width<=640px){.speech-bubble{white-space:normal;max-width:min(280px,85vw);padding:var(--space-3) var(--space-4)}.speech-bubble__title{font-size:var(--text-sm)}.speech-bubble__subtitle{font-size:var(--text-xs)}}@keyframes contact-panel-in{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.contact-panel{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-lg), var(--shadow-accent);color:var(--color-text);font-family:var(--font-sans);pointer-events:auto;-webkit-user-select:none;user-select:none;transform-origin:bottom;text-align:center;min-width:260px;max-width:min(320px,90vw);animation:.2s cubic-bezier(.34,1.56,.64,1) both contact-panel-in;position:relative}.contact-panel:after{content:"";background:var(--color-surface-raised);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);pointer-events:none;width:12px;height:12px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.contact-panel__title{color:var(--color-text-heading);font-size:var(--text-base);font-weight:600;line-height:var(--leading-tight);margin:0 0 var(--space-3)}.contact-panel__actions{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.contact-panel__btn{min-width:110px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;border:1px solid #0000;flex:1 1 0;justify-content:center;align-items:center;font-weight:600;line-height:1;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s,transform .1s;display:inline-flex}.contact-panel__btn:active{transform:scale(.97)}.contact-panel__btn--primary{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.contact-panel__btn--primary:hover,.contact-panel__btn--primary:focus-visible{background:var(--color-accent-dim);border-color:var(--color-accent-dim);color:var(--color-text-inverse)}.contact-panel__btn--secondary{color:var(--color-accent);border-color:var(--color-accent-border);background:0 0}.contact-panel__btn--secondary:hover,.contact-panel__btn--secondary:focus-visible{background:var(--color-accent-subtle);color:var(--color-text-heading)}@media (width<=640px){.contact-panel{padding:var(--space-3) var(--space-4);min-width:240px;max-width:min(280px,90vw)}.contact-panel__title{font-size:var(--text-sm)}.contact-panel__btn{font-size:var(--text-xs);padding:var(--space-2) var(--space-3);min-width:96px}}.landing-title{z-index:var(--z-ui);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:0;flex-direction:column;gap:.25rem;animation:1.2s cubic-bezier(.4,0,.2,1) .3s forwards landing-title-fade-in;display:flex;position:absolute;top:clamp(1rem,2.5vw,2rem);left:clamp(1rem,3vw,2.5rem);transform:translateY(6px)}.landing-title__name{color:#6d383f;font-family:var(--font-sans);letter-spacing:var(--tracking-tight);-webkit-font-smoothing:subpixel-antialiased;text-shadow:0 0 1px #6d383fe6,0 0 4px #6d383fa6,0 0 12px #6d383f59,0 0 24px #6d383f1f;margin:0;font-size:clamp(2.5rem,3.6vw,3rem);font-weight:600;line-height:1.1}.landing-title__subtitle{color:#6d383fe6;font-family:var(--font-sans);letter-spacing:var(--tracking-wide);-webkit-font-smoothing:subpixel-antialiased;text-shadow:0 0 1px #6d383fb3,0 0 4px #6d383f59,0 0 10px #6d383f1f;margin:0;font-size:clamp(1.375rem,1.8vw,1.625rem);font-weight:500;line-height:1.4}@keyframes landing-title-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:.85;transform:translateY(0)}}@media (width<=640px){.landing-title{gap:.125rem;top:.875rem;left:.875rem}.landing-title__name{font-size:1.75rem;line-height:1.05}.landing-title__subtitle{font-size:1rem}}.client-login{z-index:var(--z-ui);pointer-events:auto;-webkit-user-select:none;user-select:none;font-family:var(--font-sans);letter-spacing:var(--tracking-wide);color:#6d383f;white-space:nowrap;text-shadow:0 0 1px #6d383fd9,0 0 6px #6d383f40;opacity:.95;background-color:#0000;border:1px solid #6d383f80;border-radius:.5rem;padding:.35rem .7rem;font-size:clamp(1.05rem,1.55vw,1.35rem);font-weight:700;line-height:1.4;text-decoration:none;transition:opacity .2s,color .2s,text-shadow .2s,border-color .2s;position:absolute;top:clamp(1.25rem,2.75vw,2.25rem);right:clamp(1rem,3vw,2.5rem)}.client-login:hover,.client-login:focus-visible{color:#4a2329;opacity:1;text-shadow:0 0 1px #6d383f,0 0 8px #6d383f59;text-underline-offset:.2em;border-color:#6d383fd9;text-decoration:underline}@media (width<=640px){.client-login{padding:.3rem .55rem;font-size:1rem;top:.875rem;right:.875rem}}
