:root{--color-primary-900:#1e3a8a;--color-primary-800:#1e40af;--color-primary-700:#1d4ed8;--color-primary-600:#2563eb;--color-primary-500:#3b82f6;--color-primary-400:#60a5fa;--color-primary-300:#93c5fd;--color-primary-200:#bfdbfe;--color-primary-100:#dbeafe;--color-primary-50:#eff6ff;--color-accent-900:#4c1d95;--color-accent-800:#5b21b6;--color-accent-700:#6d28d9;--color-accent-600:#7c3aed;--color-accent-500:#8b5cf6;--color-accent-400:#a78bfa;--color-accent-300:#c4b5fd;--color-accent-200:#ddd6fe;--color-accent-100:#ede9fe;--color-cta-700:#b45309;--color-cta-600:#d97706;--color-cta-500:#f59e0b;--color-cta-400:#fbbf24;--color-cta-300:#fcd34d;--color-cta-200:#fde68a;--color-cta-100:#fef3c7;--color-success-700:#047857;--color-success-600:#059669;--color-success-500:#10b981;--color-success-400:#34d399;--color-success-100:#d1fae5;--color-warning-700:#b45309;--color-warning-600:#d97706;--color-warning-500:#f59e0b;--color-warning-400:#fbbf24;--color-warning-100:#fef3c7;--color-error-700:#b91c1c;--color-error-600:#dc2626;--color-error-500:#ef4444;--color-error-400:#f87171;--color-error-100:#fee2e2;--color-info-600:#2563eb;--color-info-500:#3b82f6;--color-info-400:#60a5fa;--color-neutral-950:#020617;--color-neutral-900:#0f172a;--color-neutral-800:#1e293b;--color-neutral-700:#334155;--color-neutral-600:#475569;--color-neutral-500:#64748b;--color-neutral-400:#94a3b8;--color-neutral-300:#cbd5e1;--color-neutral-200:#e2e8f0;--color-neutral-100:#f1f5f9;--color-neutral-50:#f8fafc;--color-white:#ffffff;--text-on-dark-primary:#f1f5f9;--text-on-dark-secondary:#e2e8f0;--text-on-dark-muted:#cbd5e1;--text-on-dark-subtle:#94a3b8;--gradient-primary:linear-gradient(135deg,#2563eb 0%,#7c3aed 100%);--gradient-hero:linear-gradient(135deg,#0a0f1a 0%,#1e1b4b 50%,#0f172a 100%);--gradient-cta:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);--gradient-dark:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);--gradient-light:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);--gradient-glass:linear-gradient(135deg,rgba(255,255,255,0.1) 0%,rgba(255,255,255,0.05) 100%);--gradient-body:linear-gradient(135deg,#0a0f1a 0%,#1e1b4b 50%,#0a0f1a 100%);--gradient-section-dark:linear-gradient(180deg,rgba(10,15,26,0.95) 0%,rgba(30,27,75,0.9) 100%);--font-primary:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--font-heading:'Sora','Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:'JetBrains Mono','Fira Code',Consolas,monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:1.75;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--tracking-tighter:-0.05em;--tracking-tight:-0.025em;--tracking-normal:0;--tracking-wide:0.025em;--tracking-wider:0.05em;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-none:0;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-full:9999px;--border-0:0;--border-1:1px;--border-2:2px;--border-4:4px;--shadow-xs:0 1px 2px rgba(0,0,0,0.05);--shadow-sm:0 1px 3px rgba(0,0,0,0.1),0 1px 2px rgba(0,0,0,0.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,0.25);--shadow-inner:inset 0 2px 4px rgba(0,0,0,0.06);--shadow-primary:0 10px 40px rgba(37,99,235,0.3);--shadow-cta:0 8px 30px rgba(245,158,11,0.4);--shadow-cta-hover:0 12px 40px rgba(245,158,11,0.5);--shadow-accent:0 10px 40px rgba(124,58,237,0.3);--shadow-glow:0 0 40px rgba(59,130,246,0.3);--glass-bg-light:rgba(255,255,255,0.08);--glass-bg-medium:rgba(255,255,255,0.12);--glass-bg-strong:rgba(255,255,255,0.18);--glass-bg-solid:rgba(255,255,255,0.85);--glass-border-subtle:rgba(255,255,255,0.1);--glass-border-visible:rgba(255,255,255,0.15);--glass-border-strong:rgba(255,255,255,0.25);--glass-blur-sm:blur(8px);--glass-blur-md:blur(16px);--glass-blur-lg:blur(20px);--glass-blur-xl:blur(40px);--duration-instant:75ms;--duration-fast:150ms;--duration-normal:200ms;--duration-moderate:300ms;--duration-slow:500ms;--duration-slower:700ms;--ease-linear:linear;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.175,0.885,0.32,1.275);--ease-elastic:cubic-bezier(0.68,-0.55,0.265,1.55);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--z-behind:-1;--z-base:0;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-overlay:400;--z-modal:500;--z-popover:600;--z-tooltip:700;--z-toast:800;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1200px;--container-2xl:1400px;}@media (prefers-color-scheme:dark){:root{--glass-bg-light:rgba(30,41,59,0.6);--glass-bg-medium:rgba(30,41,59,0.8);--glass-bg-solid:rgba(30,41,59,0.95);--glass-border-subtle:rgba(255,255,255,0.08);--glass-border-visible:rgba(255,255,255,0.12);}}@media (prefers-reduced-motion:reduce){:root{--duration-instant:0ms;--duration-fast:0ms;--duration-normal:0ms;--duration-moderate:0ms;--duration-slow:0ms;--duration-slower:0ms;}*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}}:focus-visible{outline:3px solid var(--color-primary-400);outline-offset:2px;}.dark-bg:focus-visible,[data-theme="dark"]:focus-visible{outline-color:var(--color-warning-400);}.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--color-primary-600);color:var(--color-white);padding:var(--space-3) var(--space-6);border-radius:0 0 var(--radius-lg) var(--radius-lg);z-index:var(--z-toast);transition:top var(--duration-moderate) var(--ease-out);text-decoration:none;font-weight:var(--font-semibold);}.skip-link:focus{top:0;}
body{font-family:var(--font-primary,'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif);font-size:var(--text-base,1rem);line-height:1.7;color:var(--color-neutral-800,#1e293b);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading,'Sora','Plus Jakarta Sans',sans-serif);font-weight:var(--font-bold,700);line-height:1.2;color:var(--color-neutral-900,#0f172a);margin:0 0 1rem 0;letter-spacing:-0.02em;}h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:var(--font-extrabold,800);line-height:1.1;letter-spacing:-0.03em;margin-bottom:1.5rem;text-align:left;}.dark-bg h1,.hero-modern h1,.strategy h1,[class*="hero"]:not(.hp-hero) h1{color:var(--text-on-dark-primary,#f1f5f9);}h1 .text-gradient,.heading-gradient{background:linear-gradient(135deg,var(--color-primary-500,#3b82f6) 0%,var(--color-accent-500,#8b5cf6) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}h1 .text-accent{background:linear-gradient(135deg,var(--color-warning-500,#f59e0b) 0%,var(--color-cta-500,#f59e0b) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}h2{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:var(--font-bold,700);line-height:1.2;margin-top:2rem;margin-bottom:1rem;position:relative;}h2.with-line::after{content:'';display:block;width:60px;height:4px;background:var(--gradient-cta,linear-gradient(135deg,#f59e0b 0%,#d97706 100%));border-radius:2px;margin-top:1rem;}h2.with-line.center::after{margin-left:auto;margin-right:auto;}.dark-bg h2,.strategy h2,.deliverables h2,[class*="hero"]:not(.hp-hero) h2{color:var(--text-on-dark-primary,#f1f5f9);}h3{font-size:clamp(1.25rem,3vw,1.75rem);font-weight:var(--font-semibold,600);line-height:1.3;margin-top:1.5rem;margin-bottom:0.75rem;}.dark-bg h3,.strategy h3,.deliverables h3{color:var(--text-on-dark-primary,#f1f5f9);}h3 .icon,h3 i{color:var(--color-primary-600,#2563eb);margin-right:0.5rem;}h4{font-size:clamp(1.1rem,2vw,1.25rem);font-weight:var(--font-semibold,600);line-height:1.4;margin-top:1rem;margin-bottom:0.5rem;}h5{font-size:var(--text-lg,1.125rem);font-weight:var(--font-semibold,600);}h6{font-size:var(--text-base,1rem);font-weight:var(--font-semibold,600);text-transform:uppercase;letter-spacing:0.05em;color:var(--color-neutral-500,#64748b);}.section-title{text-align:center;margin-bottom:3rem;}.section-title h2{margin-bottom:1rem;}.section-title p{font-size:var(--text-lg,1.125rem);color:var(--color-neutral-600,#475569);max-width:600px;margin:0 auto;}.section-badge{display:inline-flex;align-items:center;gap:0.5rem;padding:0.5rem 1rem;background:var(--color-primary-100,#dbeafe);color:var(--color-primary-700,#1d4ed8);border-radius:var(--radius-full,9999px);font-size:var(--text-sm,0.875rem);font-weight:var(--font-semibold,600);margin-bottom:1rem;letter-spacing:0.02em;}.dark-bg .section-badge{background:rgba(255,255,255,0.15);color:var(--color-white,#ffffff);}.hero-title{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:900;line-height:1.05;letter-spacing:-0.04em;margin-bottom:1.5rem;}.feature-title{font-size:var(--text-xl,1.25rem);font-weight:var(--font-bold,700);color:var(--color-neutral-900,#0f172a);margin-bottom:0.5rem;}.card-title{font-size:var(--text-xl,1.25rem);font-weight:var(--font-bold,700);color:var(--color-neutral-900,#0f172a);margin-bottom:0.5rem;line-height:1.3;}p{margin:0 0 1rem 0;line-height:1.8;color:var(--color-neutral-700,#334155);}.lead{font-size:var(--text-xl,1.25rem);line-height:1.7;color:var(--color-neutral-600,#475569);}.dark-bg .lead,.dark-bg p{color:var(--text-on-dark-secondary,#e2e8f0);}small,.text-sm{font-size:var(--text-sm,0.875rem);}.text-xs{font-size:var(--text-xs,0.75rem);}.text-muted{color:var(--color-neutral-500,#64748b);}.dark-bg .text-muted{color:var(--text-on-dark-muted,#cbd5e1);}.text-primary{color:var(--color-primary-600,#2563eb);}.text-accent{color:var(--color-accent-500,#8b5cf6);}.text-cta{color:var(--color-cta-500,#f59e0b);}.text-success{color:var(--color-success-500,#10b981);}.text-warning{color:var(--color-warning-500,#f59e0b);}.text-error{color:var(--color-error-500,#ef4444);}.text-white{color:var(--color-white,#ffffff);}.text-left{text-align:left;}.text-center{text-align:center;}.text-right{text-align:right;}.font-normal{font-weight:400;}.font-medium{font-weight:500;}.font-semibold{font-weight:600;}.font-bold{font-weight:700;}.font-extrabold{font-weight:800;}ul,ol{margin:0 0 1rem 0;padding-left:1.5rem;}li{margin-bottom:0.5rem;line-height:1.7;color:var(--color-neutral-700,#334155);}.list-check{list-style:none;padding-left:0;}.list-check li{position:relative;padding-left:1.75rem;}.list-check li::before{content:'\2713';position:absolute;left:0;color:var(--color-success-500,#10b981);font-weight:bold;}a{color:var(--color-primary-600,#2563eb);text-decoration:none;transition:color var(--duration-fast,150ms) ease;}a:hover{color:var(--color-primary-700,#1d4ed8);}.dark-bg a{color:var(--color-primary-300,#93c5fd);}.dark-bg a:hover{color:var(--color-primary-200,#bfdbfe);}blockquote{margin:1.5rem 0;padding:1.5rem 2rem;border-left:4px solid var(--color-primary-600,#2563eb);background:var(--color-neutral-50,#f8fafc);border-radius:0 var(--radius-lg,0.5rem) var(--radius-lg,0.5rem) 0;font-style:italic;color:var(--color-neutral-700,#334155);}blockquote cite{display:block;margin-top:1rem;font-style:normal;font-weight:var(--font-semibold,600);color:var(--color-neutral-500,#64748b);}code{font-family:var(--font-mono,'JetBrains Mono',Consolas,monospace);font-size:0.9em;padding:0.2em 0.4em;background:var(--color-neutral-100,#f1f5f9);border-radius:var(--radius-sm,0.25rem);color:var(--color-accent-600,#7c3aed);}pre{font-family:var(--font-mono,'JetBrains Mono',Consolas,monospace);font-size:var(--text-sm,0.875rem);padding:1.5rem;background:var(--color-neutral-900,#0f172a);color:var(--color-neutral-100,#f1f5f9);border-radius:var(--radius-xl,0.75rem);overflow-x:auto;margin:1.5rem 0;}pre code{background:transparent;padding:0;color:inherit;}@media (max-width:768px){h1{font-size:clamp(1.75rem,8vw,2.5rem);}h2{font-size:clamp(1.5rem,6vw,2rem);}h3{font-size:clamp(1.125rem,4vw,1.5rem);}.hero-title{font-size:clamp(2rem,8vw,3rem);}.lead{font-size:var(--text-lg,1.125rem);}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-semibold);line-height:var(--leading-tight);text-decoration:none;border:2px solid transparent;border-radius:var(--radius-xl);cursor:pointer;transition:all var(--duration-moderate) var(--ease-in-out);white-space:nowrap;user-select:none;-webkit-tap-highlight-color:transparent;}.btn:disabled,.btn.disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;}.btn i,.btn svg{font-size:1.1em;transition:transform var(--duration-fast) var(--ease-out);}.btn:hover i,.btn:hover svg{transform:translateX(3px);}.btn-cta{background:var(--gradient-cta);color:var(--color-white);padding:var(--space-4) var(--space-8);border-radius:var(--radius-full);font-size:var(--text-lg);font-weight:var(--font-bold);border:none;box-shadow:var(--shadow-cta);position:relative;overflow:hidden;}.btn-cta::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient( 90deg,transparent,rgba(255,255,255,0.3),transparent );transition:left var(--duration-slow) var(--ease-out);}.btn-cta:hover{transform:translateY(-3px);box-shadow:var(--shadow-cta-hover);}.btn-cta:hover::before{left:100%;}.btn-cta:active{transform:translateY(-1px);}.btn-cta:focus-visible{outline:3px solid var(--color-cta-300);outline-offset:3px;}.btn-cta.pulse{animation:pulse-cta 2s infinite;}@keyframes pulse-cta{0%{box-shadow:0 0 0 0 rgba(255,107,53,0.7);}70%{box-shadow:0 0 0 15px rgba(255,107,53,0);}100%{box-shadow:0 0 0 0 rgba(255,107,53,0);}}.btn-primary{background:var(--gradient-primary);color:var(--color-white);padding:var(--space-3) var(--space-8);border-radius:var(--radius-xl);font-weight:var(--font-semibold);border:none;box-shadow:var(--shadow-primary);}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 15px 45px rgba(39,76,119,0.4);filter:brightness(1.05);}.btn-primary:active{transform:translateY(0);}.btn-primary:focus-visible{outline:3px solid var(--color-primary-300);outline-offset:3px;}.btn-secondary{background:transparent;color:var(--color-primary-600);padding:var(--space-3) var(--space-8);border-radius:var(--radius-xl);border:2px solid var(--color-primary-500);font-weight:var(--font-semibold);}.btn-secondary:hover{background:var(--color-primary-600);border-color:var(--color-primary-600);color:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-primary);}.btn-secondary:active{transform:translateY(0);}.btn-secondary:focus-visible{outline:3px solid var(--color-primary-300);outline-offset:3px;}.btn-secondary.on-dark{color:var(--color-white);border-color:var(--color-white);}.btn-secondary.on-dark:hover{background:var(--color-white);color:var(--color-primary-700);}.btn-ghost{background:transparent;color:var(--color-neutral-700);padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);border:none;font-weight:var(--font-medium);}.btn-ghost:hover{background:var(--color-neutral-100);color:var(--color-primary-600);}.btn-ghost:active{background:var(--color-neutral-200);}.btn-ghost:focus-visible{outline:2px solid var(--color-primary-400);outline-offset:2px;}.btn-ghost.on-dark{color:var(--text-on-dark-secondary);}.btn-ghost.on-dark:hover{background:var(--glass-bg-light);color:var(--color-white);}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-lg);gap:var(--space-1);}.btn-lg{padding:var(--space-5) var(--space-10);font-size:var(--text-xl);border-radius:var(--radius-2xl);gap:var(--space-3);}.btn-cta.btn-sm{padding:var(--space-3) var(--space-6);font-size:var(--text-base);}.btn-cta.btn-lg{padding:var(--space-5) var(--space-12);font-size:var(--text-xl);}.btn-block{width:100%;}.btn-icon{padding:var(--space-3);border-radius:var(--radius-full);}.btn-icon.btn-sm{padding:var(--space-2);}.btn-icon.btn-lg{padding:var(--space-4);}.btn.loading{position:relative;color:transparent;pointer-events:none;}.btn.loading::after{content:'';position:absolute;width:1.25em;height:1.25em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin 0.75s linear infinite;}@keyframes btn-spin{to{transform:rotate(360deg);}}.btn-group{display:inline-flex;gap:var(--space-3);flex-wrap:wrap;}.btn-group-vertical{flex-direction:column;align-items:stretch;}.cta-micro-copy{display:block;margin-top:var(--space-2);font-size:var(--text-sm);color:var(--text-on-dark-muted);text-align:center;}.cta-micro-copy i{margin-right:var(--space-1);font-size:0.9em;}.cta-micro-copy.on-light{color:var(--color-neutral-500);}@media (max-width:768px){.btn{padding:var(--space-3) var(--space-5);}.btn-cta{padding:var(--space-4) var(--space-6);font-size:var(--text-base);}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-lg);}.btn-group-mobile-stack{flex-direction:column;width:100%;}.btn-group-mobile-stack .btn{width:100%;}}.dora-cta-button{background:var(--gradient-cta);color:var(--color-white);padding:var(--space-4) var(--space-8);border-radius:var(--radius-full);font-size:var(--text-lg);font-weight:var(--font-bold);border:none;box-shadow:var(--shadow-cta);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);text-decoration:none;transition:all var(--duration-moderate) var(--ease-in-out);cursor:pointer;}.dora-cta-button:hover{transform:translateY(-3px);box-shadow:var(--shadow-cta-hover);}.cta-button{background:var(--gradient-primary);color:var(--color-white);padding:var(--space-3) var(--space-8);border-radius:var(--radius-xl);font-weight:var(--font-semibold);border:none;box-shadow:var(--shadow-primary);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);text-decoration:none;transition:all var(--duration-moderate) var(--ease-in-out);cursor:pointer;}.cta-button:hover{transform:translateY(-2px);box-shadow:0 15px 45px rgba(39,76,119,0.4);}.saas-cta-button{background:var(--gradient-cta);color:var(--color-white);padding:var(--space-4) var(--space-10);border-radius:var(--radius-full);font-size:var(--text-lg);font-weight:var(--font-bold);border:2px solid rgba(255,255,255,0.2);box-shadow:var(--shadow-cta);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);text-decoration:none;transition:all var(--duration-moderate) var(--ease-in-out);cursor:pointer;}.saas-cta-button:hover{transform:translateY(-3px) scale(1.02);box-shadow:var(--shadow-cta-hover);}
.card{background:var(--color-neutral-50);border-radius:var(--radius-3xl);padding:var(--space-8);border:1px solid var(--color-neutral-200);box-shadow:var(--shadow-sm);transition:all var(--duration-moderate) var(--ease-in-out);position:relative;overflow:hidden;}.card-elevated{background:var(--color-white);box-shadow:var(--shadow-md);}.card-hover:hover,.card-elevated:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);border-color:var(--color-neutral-300);}.card-bordered{border:1px solid var(--color-neutral-300);box-shadow:none;}.card-glass{background:var(--glass-bg-light);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border-radius:var(--radius-3xl);padding:var(--space-8);border:1px solid var(--glass-border-visible);box-shadow:0 8px 32px rgba(0,0,0,0.12),inset 0 1px 0 rgba(255,255,255,0.15);transition:all var(--duration-slow) var(--ease-in-out);}.card-glass:hover{transform:translateY(-8px) scale(1.01);background:var(--glass-bg-medium);box-shadow:0 16px 48px rgba(0,0,0,0.18),inset 0 1px 0 rgba(255,255,255,0.2);border-color:var(--glass-border-strong);}.card-glass .card-title{color:var(--color-white);text-shadow:0 2px 8px rgba(0,0,0,0.2);}.card-glass .card-body,.card-glass p{color:var(--text-on-dark-secondary);}.card-glass .card-subtitle{color:var(--text-on-dark-muted);}.card-glass-light{background:rgba(255,255,255,0.7);backdrop-filter:var(--glass-blur-md);-webkit-backdrop-filter:var(--glass-blur-md);border:1px solid rgba(255,255,255,0.5);}.card-glass-light .card-title{color:var(--color-neutral-900);text-shadow:none;}.card-glass-light .card-body{color:var(--color-neutral-700);}.card-premium{background:var(--gradient-primary);border-radius:var(--radius-3xl);padding:var(--space-10);border:none;position:relative;overflow:hidden;box-shadow:var(--shadow-primary);transition:all var(--duration-slow) var(--ease-in-out);}.card-premium::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient( 135deg,rgba(255,255,255,0.1) 0%,transparent 50%,rgba(0,0,0,0.1) 100% );pointer-events:none;}.card-premium:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 60px rgba(39,76,119,0.45);}.card-premium .card-title{color:var(--color-white);font-size:var(--text-2xl);}.card-premium .card-body,.card-premium p{color:var(--text-on-dark-secondary);}.card-premium-accent{background:linear-gradient(135deg,var(--color-accent-600) 0%,var(--color-accent-500) 100%);box-shadow:var(--shadow-accent);}.card-premium-accent:hover{box-shadow:0 20px 60px rgba(94,61,124,0.45);}.card-header{margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-neutral-100);}.card-glass .card-header,.card-premium .card-header{border-bottom-color:rgba(255,255,255,0.1);}.card-body{color:var(--color-neutral-600);line-height:var(--leading-relaxed);}.card-footer{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-neutral-100);}.card-glass .card-footer,.card-premium .card-footer{border-top-color:rgba(255,255,255,0.1);}.card-title{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-neutral-900);margin-bottom:var(--space-2);line-height:var(--leading-tight);}.card-subtitle{font-size:var(--text-sm);color:var(--color-neutral-500);margin-bottom:var(--space-4);}.card-image{width:calc(100% + var(--space-16));margin:calc(var(--space-8) * -1) calc(var(--space-8) * -1) var(--space-6);aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-3xl) var(--radius-3xl) 0 0;}.card-with-image{padding-top:0;}.card-with-image .card-image{margin-top:0;margin-bottom:var(--space-6);}.card-icon{width:64px;height:64px;border-radius:var(--radius-2xl);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);font-size:var(--text-2xl);color:var(--color-white);box-shadow:var(--shadow-md);}.card-icon-lg{width:80px;height:80px;font-size:var(--text-3xl);}.card-icon-sm{width:48px;height:48px;font-size:var(--text-xl);border-radius:var(--radius-xl);}.card-glass .card-icon{background:var(--glass-bg-medium);backdrop-filter:var(--glass-blur-sm);border:1px solid var(--glass-border-visible);}.card-badge{position:absolute;top:var(--space-4);right:var(--space-4);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);}.card-badge-primary{background:var(--color-primary-100);color:var(--color-primary-700);}.card-badge-cta{background:var(--gradient-cta);color:var(--color-white);}.card-badge-success{background:var(--color-success-100);color:var(--color-success-700);}.card-badge-warning{background:var(--color-warning-100);color:var(--color-warning-700);}.card-recommended{border:2px solid var(--color-warning-500);}.card-recommended::after{content:'RECOMMANDÉ';position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--color-warning-500) 0%,var(--color-cta-500) 100%);color:var(--color-white);padding:var(--space-1) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:var(--tracking-wide);white-space:nowrap;}.card-list{list-style:none;padding:0;margin:var(--space-4) 0;}.card-list li{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) 0;color:var(--color-neutral-700);}.card-list li i{color:var(--color-success-500);margin-top:0.2em;flex-shrink:0;}.card-glass .card-list li,.card-premium .card-list li{color:var(--text-on-dark-secondary);}.card-glass .card-list li i,.card-premium .card-list li i{color:var(--color-success-400);}.card-grid{display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));}.card-grid-2{grid-template-columns:repeat(2,1fr);}.card-grid-3{grid-template-columns:repeat(3,1fr);}.card-grid-4{grid-template-columns:repeat(4,1fr);}.card-service{text-align:center;padding:var(--space-10);}.card-service .card-icon{margin:0 auto var(--space-6);width:80px;height:80px;font-size:var(--text-3xl);}.card-service .card-title{font-size:var(--text-xl);margin-bottom:var(--space-3);}.card-service .card-body{margin-bottom:var(--space-6);}@media (max-width:1024px){.card-grid-4{grid-template-columns:repeat(2,1fr);}.card-grid-3{grid-template-columns:repeat(2,1fr);}}@media (max-width:768px){.card{padding:var(--space-6);border-radius:var(--radius-2xl);}.card-premium{padding:var(--space-8);}.card-grid,.card-grid-2,.card-grid-3,.card-grid-4{grid-template-columns:1fr;}.card-image{width:calc(100% + var(--space-12));margin:calc(var(--space-6) * -1) calc(var(--space-6) * -1) var(--space-4);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;}.card-service{padding:var(--space-6);}.card-service .card-icon{width:64px;height:64px;font-size:var(--text-2xl);}}.blog-card{background:var(--color-white);border-radius:var(--radius-2xl);padding:var(--space-6);border:1px solid var(--color-neutral-200);box-shadow:var(--shadow-sm);transition:all var(--duration-moderate) var(--ease-in-out);overflow:hidden;}.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}.document-card{background:var(--color-white);border-radius:var(--radius-3xl);padding:var(--space-10);border:1px solid var(--color-neutral-200);box-shadow:var(--shadow-md);transition:all var(--duration-moderate) var(--ease-in-out);}.document-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);}.video-card{background:var(--glass-bg-light);backdrop-filter:var(--glass-blur-lg);border-radius:var(--radius-3xl);border:1px solid var(--glass-border-visible);overflow:hidden;transition:all var(--duration-moderate) var(--ease-in-out);}.video-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);}.usecase-card{background:var(--color-white);border-radius:var(--radius-3xl);overflow:hidden;box-shadow:var(--shadow-md);transition:all var(--duration-moderate) var(--ease-in-out);}.usecase-card:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 15px 50px rgba(39,76,119,0.2);}.strategy,.deliverables{background:var(--gradient-primary);border-radius:var(--radius-3xl);padding:var(--space-10);border:1px solid var(--glass-border-visible);position:relative;overflow:hidden;}.strategy::before,.deliverables::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient( 135deg,rgba(255,255,255,0.05) 0%,transparent 100% );pointer-events:none;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes fadeInUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-24px);}to{opacity:1;transform:translateY(0);}}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-24px);}to{opacity:1;transform:translateX(0);}}@keyframes fadeInRight{from{opacity:0;transform:translateX(24px);}to{opacity:1;transform:translateX(0);}}@keyframes scaleIn{from{opacity:0;transform:scale(0.95);}to{opacity:1;transform:scale(1);}}@keyframes scaleInBounce{0%{opacity:0;transform:scale(0.9);}50%{transform:scale(1.02);}100%{opacity:1;transform:scale(1);}}@keyframes slideInUp{from{transform:translateY(100%);}to{transform:translateY(0);}}@keyframes slideInDown{from{transform:translateY(-100%);}to{transform:translateY(0);}}@keyframes pulse-cta{0%{box-shadow:0 0 0 0 rgba(255,107,53,0.7);}70%{box-shadow:0 0 0 15px rgba(255,107,53,0);}100%{box-shadow:0 0 0 0 rgba(255,107,53,0);}}@keyframes pulse-primary{0%{box-shadow:0 0 0 0 rgba(74,144,217,0.7);}70%{box-shadow:0 0 0 15px rgba(74,144,217,0);}100%{box-shadow:0 0 0 0 rgba(74,144,217,0);}}@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.5;}}@keyframes bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}@keyframes shake{0%,100%{transform:translateX(0);}20%,60%{transform:translateX(-4px);}40%,80%{transform:translateX(4px);}}@keyframes spin{to{transform:rotate(360deg);}}@keyframes shimmer{0%{background-position:-200% 0;}100%{background-position:200% 0;}}@keyframes progress{from{width:0%;}to{width:100%;}}@keyframes shine{0%{left:-100%;}50%,100%{left:100%;}}@keyframes glow{0%,100%{box-shadow:0 0 20px rgba(74,144,217,0.3);}50%{box-shadow:0 0 40px rgba(74,144,217,0.5);}}@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}.animate-fadeIn{animation:fadeIn var(--duration-moderate,300ms) var(--ease-out,ease-out) both;}.animate-fadeInUp{animation:fadeInUp var(--duration-slow,500ms) var(--ease-out,ease-out) both;}.animate-fadeInDown{animation:fadeInDown var(--duration-slow,500ms) var(--ease-out,ease-out) both;}.animate-fadeInLeft{animation:fadeInLeft var(--duration-slow,500ms) var(--ease-out,ease-out) both;}.animate-fadeInRight{animation:fadeInRight var(--duration-slow,500ms) var(--ease-out,ease-out) both;}.animate-scaleIn{animation:scaleIn var(--duration-moderate,300ms) var(--ease-bounce,cubic-bezier(0.175,0.885,0.32,1.275)) both;}.animate-slideInUp{animation:slideInUp var(--duration-moderate,300ms) var(--ease-out,ease-out) both;}.animate-pulse{animation:pulse 2s ease-in-out infinite;}.animate-pulse-cta{animation:pulse-cta 2s ease-in-out infinite;}.animate-bounce{animation:bounce 1s ease-in-out infinite;}.animate-shake{animation:shake 0.5s ease-in-out;}.animate-spin{animation:spin 1s linear infinite;}.animate-shimmer{background:linear-gradient( 90deg,var(--color-neutral-200,#E5E7EB) 0%,var(--color-neutral-100,#F3F4F6) 50%,var(--color-neutral-200,#E5E7EB) 100% );background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;}.animate-float{animation:float 3s ease-in-out infinite;}.animate-glow{animation:glow 2s ease-in-out infinite;}.animate-delay-100{animation-delay:100ms;}.animate-delay-200{animation-delay:200ms;}.animate-delay-300{animation-delay:300ms;}.animate-delay-400{animation-delay:400ms;}.animate-delay-500{animation-delay:500ms;}.animate-delay-700{animation-delay:700ms;}.animate-delay-1000{animation-delay:1000ms;}.animate-stagger > *:nth-child(1){animation-delay:0ms;}.animate-stagger > *:nth-child(2){animation-delay:100ms;}.animate-stagger > *:nth-child(3){animation-delay:200ms;}.animate-stagger > *:nth-child(4){animation-delay:300ms;}.animate-stagger > *:nth-child(5){animation-delay:400ms;}.animate-stagger > *:nth-child(6){animation-delay:500ms;}.transition-none{transition:none;}.transition-all{transition:all var(--duration-moderate,300ms) var(--ease-in-out,ease);}.transition-colors{transition:color,background-color,border-color var(--duration-fast,150ms) var(--ease-in-out,ease);}.transition-opacity{transition:opacity var(--duration-moderate,300ms) var(--ease-in-out,ease);}.transition-transform{transition:transform var(--duration-moderate,300ms) var(--ease-in-out,ease);}.transition-shadow{transition:box-shadow var(--duration-moderate,300ms) var(--ease-in-out,ease);}.hover-lift{transition:transform var(--duration-moderate,300ms) var(--ease-out,ease-out),box-shadow var(--duration-moderate,300ms) var(--ease-out,ease-out);}.hover-lift:hover{transform:translateY(-4px);}.hover-scale{transition:transform var(--duration-moderate,300ms) var(--ease-out,ease-out);}.hover-scale:hover{transform:scale(1.02);}.hover-glow{transition:box-shadow var(--duration-moderate,300ms) var(--ease-out,ease-out);}.hover-glow:hover{box-shadow:var(--shadow-glow,0 0 40px rgba(74,144,217,0.3));}[data-animate]{opacity:0;}[data-animate].is-visible{opacity:1;}[data-animate="fadeInUp"].is-visible{animation:fadeInUp var(--duration-slow,500ms) var(--ease-out,ease-out) both;}[data-animate="fadeInLeft"].is-visible{animation:fadeInLeft var(--duration-slow,500ms) var(--ease-out,ease-out) both;}[data-animate="fadeInRight"].is-visible{animation:fadeInRight var(--duration-slow,500ms) var(--ease-out,ease-out) both;}[data-animate="scaleIn"].is-visible{animation:scaleIn var(--duration-moderate,300ms) var(--ease-bounce,cubic-bezier(0.175,0.885,0.32,1.275)) both;}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}[data-animate]{opacity:1 !important;transform:none !important;}.animate-pulse,.animate-pulse-cta,.animate-bounce,.animate-float,.animate-glow,.animate-spin,.animate-shimmer{animation:none !important;}}