:root{--color-base:#050705;--color-surface:#0c1110;--color-surface-elevated:#121917;--color-card:rgba(12,17,16,.78);--color-card-header:hsla(0,0%,100%,.02);--color-primary:#00a85a;--color-primary-light:#36c77b;--color-primary-dark:#008a4a;--color-primary-hover:#22c90a;--color-secondary:#0f3b28;--color-secondary-light:#16523a;--color-accent:#1f7d52;--color-accent-light:#2f9c66;--color-micro:#ff8f8f;--color-white:#fff;--color-gray-light:#f2f2f2;--color-text:#f3f6f4;--color-text-secondary:#cbd6cf;--color-text-heading:hsla(0,0%,100%,.96);--color-muted:#9ea9a3;--color-muted-dark:#6f7a74;--color-border:hsla(0,0%,100%,.08);--color-border-bright:rgba(0,168,90,.35);--color-input-bg:hsla(0,0%,100%,.04);--color-input-bg-hover:hsla(0,0%,100%,.06);--color-input-border:hsla(0,0%,100%,.12);--color-input-text:hsla(0,0%,100%,.94);--color-placeholder:hsla(0,0%,100%,.3);--color-success:#15803d;--color-success-bg:rgba(21,128,61,.12);--color-success-border:rgba(21,128,61,.35);--color-success-text:#9ff0c4;--color-error:#dc2626;--color-error-bg:hsla(0,100%,71%,.08);--color-error-border:hsla(0,100%,71%,.2);--color-error-text:hsla(0,100%,85%,.95);--color-warning-bg:rgba(251,191,36,.12);--color-warning-border:rgba(251,191,36,.35);--color-warning-text:#fcd34d;--color-btn-primary-text:#050907;--color-btn-ghost-text:rgba(243,246,244,.7);--color-btn-ghost-bg:transparent;--color-btn-ghost-border:hsla(0,0%,100%,.2);--color-btn-ghost-hover-bg:hsla(0,0%,100%,.06);--touch-target-min:44px;--touch-target-wcag:24px;--touch-target-spacing:8px;--font-size-senior-xs:0.875rem;--font-size-senior-sm:1rem;--font-size-senior-base:1.125rem;--font-size-senior-md:1.25rem;--font-size-senior-lg:1.5rem;--font-size-senior-xl:1.875rem;--font-size-senior-2xl:2.25rem;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--letter-spacing-tight:-0.01em;--letter-spacing-normal:0;--letter-spacing-wide:0.025em;--focus-ring-width:3px;--focus-ring-offset:3px;--focus-ring-color:var(--color-primary);--bottom-nav-height:72px;--bottom-nav-safe-area:env(safe-area-inset-bottom,0px);--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:24px;--radius-2xl:32px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(0,0,0,.12);--shadow-sm:0 4px 8px rgba(0,0,0,.15),0 2px 4px rgba(0,0,0,.1);--shadow-md:0 8px 16px rgba(0,0,0,.2),0 4px 8px rgba(0,0,0,.15);--shadow-lg:0 16px 32px rgba(0,0,0,.25),0 8px 16px rgba(0,0,0,.2);--shadow-xl:0 24px 48px rgba(0,0,0,.3),0 12px 24px rgba(0,0,0,.25);--shadow-2xl:0 32px 64px rgba(0,0,0,.35),0 16px 32px rgba(0,0,0,.3);--shadow-glow-cyan:0 0 18px rgba(0,168,90,.35),0 0 36px rgba(0,168,90,.2);--shadow-glow-cyan-lg:0 0 28px rgba(0,168,90,.45),0 0 56px rgba(0,168,90,.25);--shadow-glow-orange:0 0 18px rgba(0,168,90,.25),0 0 36px rgba(0,168,90,.15);--shadow-glow-purple:0 0 18px rgba(0,168,90,.25),0 0 36px rgba(0,168,90,.15);--shadow-card:0 14px 30px rgba(8,11,21,.45),0 4px 12px rgba(0,0,0,.3);--shadow-card-hover:0 20px 40px rgba(8,11,21,.55),0 8px 16px rgba(0,0,0,.35);--shadow-soft:0 20px 50px rgba(5,8,17,.35);--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1);--transition-bounce:400ms cubic-bezier(0.68,-0.55,0.265,1.55);--transition:var(--transition-base);--z-base:1;--z-dropdown:10;--z-sticky:20;--z-overlay:30;--z-modal:40;--z-tooltip:50;--font-size-base:16px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--blur-sm:8px;--blur-md:16px;--blur-lg:24px;--blur-xl:32px}:root[data-font-size=lg]{--font-size-base:18px}:root[data-font-size=xl]{--font-size-base:20px}:root[data-contrast=high]{--color-text:#fff;--color-muted:#d7dcff;--color-gray-light:#fff}:root[data-theme=light]{--color-base:#f9faf9;--color-surface:#f3f4f6;--color-surface-elevated:#fff;--color-card:#fff;--color-card-header:rgba(0,0,0,.02);--color-primary:#00a85a;--color-primary-light:#00c56a;--color-primary-dark:#008a4a;--color-primary-hover:#008a4a;--color-secondary:#e8f5ec;--color-secondary-light:#d1ead8;--color-accent:#00a85a;--color-accent-light:#00c56a;--color-white:#1f2933;--color-gray-light:#f3f4f6;--color-text:#1f2933;--color-text-secondary:#6b7280;--color-text-heading:#111827;--color-muted:#9ca3af;--color-muted-dark:#6b7280;--color-border:rgba(0,0,0,.08);--color-border-bright:rgba(0,168,90,.5);--color-input-bg:#fff;--color-input-bg-hover:#f9fafb;--color-input-border:#d1d5db;--color-input-text:#1f2933;--color-placeholder:#6b7280;--color-success:#15803d;--color-success-bg:rgba(21,128,61,.08);--color-success-border:rgba(21,128,61,.25);--color-success-text:#15803d;--color-error:#dc2626;--color-error-bg:rgba(220,38,38,.08);--color-error-border:rgba(220,38,38,.25);--color-error-text:#dc2626;--color-warning-bg:rgba(245,158,11,.08);--color-warning-border:rgba(245,158,11,.25);--color-warning-text:#b45309;--color-btn-primary-text:#020202;--color-btn-ghost-text:#374151;--color-btn-ghost-bg:transparent;--color-btn-ghost-border:#d1d5db;--color-btn-ghost-hover-bg:rgba(0,0,0,.04);--shadow-xs:0 1px 2px rgba(0,0,0,.05);--shadow-sm:0 2px 4px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 8px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);--shadow-lg:0 8px 16px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,.06);--shadow-xl:0 12px 24px rgba(0,0,0,.12),0 6px 12px rgba(0,0,0,.08);--shadow-2xl:0 16px 32px rgba(0,0,0,.14),0 8px 16px rgba(0,0,0,.1);--shadow-glow-cyan:0 0 12px rgba(0,168,90,.25),0 0 24px rgba(0,168,90,.15);--shadow-glow-cyan-lg:0 0 20px rgba(0,168,90,.3),0 0 40px rgba(0,168,90,.2);--shadow-card:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);--shadow-card-hover:0 4px 12px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.06);--shadow-soft:0 8px 24px rgba(0,0,0,.08)}html{font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;color:var(--color-text);line-height:1.7;font-weight:var(--font-weight-normal)}h1,h2,h3,h4,h5,h6{line-height:1.2;letter-spacing:-.025em;font-weight:var(--font-weight-bold);margin:0 0 1rem;color:var(--color-white)}:root[data-theme=light] h1,:root[data-theme=light] h2,:root[data-theme=light] h3,:root[data-theme=light] h4,:root[data-theme=light] h5,:root[data-theme=light] h6{color:var(--color-text-heading)}h1{font-size:clamp(2.5rem,5vw + 1rem,4rem);letter-spacing:-.03em;line-height:1.1;background:linear-gradient(135deg,var(--color-white) 0,var(--color-primary-light) 100%);-webkit-background-clip:text;background-clip:text}:root[data-theme=light] h1,h1{-webkit-text-fill-color:transparent}:root[data-theme=light] h1{background:linear-gradient(135deg,var(--color-text-heading) 0,var(--color-primary-dark) 100%);-webkit-background-clip:text;background-clip:text}h2{font-size:clamp(2rem,3vw + .5rem,3rem);letter-spacing:-.028em}h3{font-size:clamp(1.5rem,2vw + .5rem,2rem);letter-spacing:-.02em}h3,h4{font-weight:var(--font-weight-semibold)}h4{font-size:clamp(1.25rem,1.5vw + .5rem,1.5rem)}h5{font-size:1.125rem}h5,h6{font-weight:var(--font-weight-semibold)}h6{text-transform:uppercase;letter-spacing:.05em}h6,p{font-size:1rem}p{line-height:1.8;margin:0 0 1.5rem;color:var(--color-text-secondary)}p.lead{font-size:clamp(1.125rem,1.5vw,1.25rem);line-height:1.75;color:var(--color-text);font-weight:var(--font-weight-medium)}p.small{font-size:.875rem;line-height:1.6}a{color:var(--color-primary);transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}b,strong{font-weight:var(--font-weight-bold);color:var(--color-white)}:root[data-theme=light] b,:root[data-theme=light] strong{color:var(--color-text-heading)}em,i{font-style:italic;color:var(--color-text)}ol,ul{margin:0 0 1.5rem;padding-left:1.5rem;line-height:1.8}li{margin-bottom:.5rem}blockquote{margin:2rem 0;padding:1.5rem 2rem;border-left:4px solid var(--color-primary);background:rgba(0,168,90,.08);font-style:italic;color:var(--color-text)}code{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.9em;padding:.2em .4em;background:rgba(0,168,90,.12);border-radius:var(--radius-xs);color:var(--color-primary-light)}:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.skip-link{position:absolute;top:-40px;left:16px;background:var(--color-primary);color:#000;padding:8px 12px;border-radius:6px;z-index:1000;transition:top var(--transition)}.skip-link:focus{top:12px}.sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.fade-in{animation:fadeIn .6s cubic-bezier(.4,0,.2,1)}.slide-up{animation:slideUp .6s cubic-bezier(.4,0,.2,1)}.slide-in-left{animation:slideInLeft .7s cubic-bezier(.4,0,.2,1)}.slide-in-right{animation:slideInRight .7s cubic-bezier(.4,0,.2,1)}.scale-in{animation:scaleIn .5s cubic-bezier(.4,0,.2,1)}.fade-scale{animation:fadeScale .7s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInLeft{0%{transform:translateX(-40px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInRight{0%{transform:translateX(40px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fadeScale{0%{transform:scale(.95) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes pulseGlow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes floatIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulseGlobe{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.08)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-400{animation-delay:.4s}.animate-delay-500{animation-delay:.5s}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}