body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.theme-toggle{align-items:center;background-color:initial;border:1px solid var(--color-border-light);border-radius:var(--radius-lg);color:var(--color-text-primary);cursor:pointer;display:inline-flex;height:40px;justify-content:center;outline:none;position:relative;transition:var(--transition-colors),transform var(--duration-200) var(--ease-out);width:40px}.theme-toggle:hover{background-color:var(--color-bg-secondary);border-color:var(--color-border-medium);transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.theme-toggle:focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-primary)}.theme-toggle-icon{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.theme-icon{transition:transform var(--duration-300) var(--ease-in-out),opacity var(--duration-300) var(--ease-in-out)}.theme-icon-moon,.theme-icon-sun{animation:rotate-in var(--duration-500) var(--ease-out)}@keyframes rotate-in{0%{opacity:0;transform:rotate(-180deg) scale(0)}to{opacity:1;transform:rotate(0deg) scale(1)}}@media (max-width:480px){.theme-toggle{height:36px;width:36px}}@media (prefers-reduced-motion:reduce){.theme-icon,.theme-icon-moon,.theme-icon-sun,.theme-toggle{animation:none;transition:none}}:root{--color-primary-50:#e6f4ff;--color-primary-100:#bae0ff;--color-primary-200:#8dcbff;--color-primary-300:#5eb5ff;--color-primary-400:#36a4ff;--color-primary-500:#1a8cff;--color-primary-600:#0d7ae0;--color-primary-700:#0566bf;--color-primary-800:#00529e;--color-primary-900:#003d75;--color-secondary-50:#f8fafc;--color-secondary-100:#f1f5f9;--color-secondary-200:#e2e8f0;--color-secondary-300:#cbd5e1;--color-secondary-400:#94a3b8;--color-secondary-500:#64748b;--color-secondary-600:#475569;--color-secondary-700:#334155;--color-secondary-800:#1e293b;--color-secondary-900:#0f172a;--color-accent-50:#fff4ed;--color-accent-100:#ffe4d4;--color-accent-200:#ffc4a8;--color-accent-300:#ff9f71;--color-accent-400:#fb923c;--color-accent-500:#f97316;--color-accent-600:#ea580c;--color-accent-700:#c2410c;--color-accent-800:#9a3412;--color-accent-900:#7c2d12;--color-success-50:#f0fdf4;--color-success-100:#dcfce7;--color-success-200:#bbf7d0;--color-success-300:#86efac;--color-success-400:#4ade80;--color-success-500:#22c55e;--color-success-600:#16a34a;--color-success-700:#15803d;--color-success-800:#166534;--color-success-900:#14532d;--color-error-50:#fef2f2;--color-error-100:#fee2e2;--color-error-200:#fecaca;--color-error-300:#fca5a5;--color-error-400:#f87171;--color-error-500:#ef4444;--color-error-600:#dc2626;--color-error-700:#b91c1c;--color-error-800:#991b1b;--color-error-900:#7f1d1d;--color-warning-50:#fefce8;--color-warning-100:#fef9c3;--color-warning-200:#fef08a;--color-warning-300:#fde047;--color-warning-400:#facc15;--color-warning-500:#eab308;--color-warning-600:#ca8a04;--color-warning-700:#a16207;--color-warning-800:#854d0e;--color-warning-900:#713f12;--color-info-50:#ecfeff;--color-info-100:#cffafe;--color-info-200:#a5f3fc;--color-info-300:#67e8f9;--color-info-400:#22d3ee;--color-info-500:#06b6d4;--color-info-600:#0891b2;--color-info-700:#0e7490;--color-info-800:#155e75;--color-info-900:#164e63;--color-primary:var(--color-primary-500);--color-primary-dark:var(--color-primary-700);--color-primary-light:var(--color-primary-100);--color-secondary:var(--color-secondary-500);--color-accent:var(--color-accent-500);--color-success:var(--color-success-500);--color-error:var(--color-error-500);--color-warning:var(--color-warning-500);--color-info:var(--color-info-500);--color-bg-primary:#fff;--color-bg-secondary:var(--color-secondary-50);--color-bg-tertiary:var(--color-secondary-100);--color-bg-dark:var(--color-secondary-900);--color-text-primary:var(--color-secondary-900);--color-text-secondary:var(--color-secondary-600);--color-text-tertiary:var(--color-secondary-400);--color-text-inverse:#fff;--color-border-light:var(--color-secondary-200);--color-border-medium:var(--color-secondary-300);--color-border-dark:var(--color-secondary-400);--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Helvetica Neue",sans-serif;--font-mono:"SF Mono","Monaco","Inconsolata","Roboto Mono","Courier New",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-size-6xl:3.75rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--letter-spacing-tighter:-0.05em;--letter-spacing-tight:-0.025em;--letter-spacing-normal:0;--letter-spacing-wide:0.025em;--letter-spacing-wider:0.05em;--letter-spacing-widest:0.1em;--spacing-0:0;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--spacing-32:8rem;--radius-none:0;--radius-sm:0.25rem;--radius-base:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-base:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-md:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-lg:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-xl:0 25px 50px -12px #00000040;--shadow-2xl:0 30px 60px -15px #0000004d;--shadow-primary:0 0 0 3px #1a8cff26;--shadow-error:0 0 0 3px #ef444426;--shadow-success:0 0 0 3px #22c55e26;--duration-75:75ms;--duration-100:100ms;--duration-150:150ms;--duration-200:200ms;--duration-300:300ms;--duration-500:500ms;--duration-700:700ms;--duration-1000:1000ms;--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.68,-0.55,0.265,1.55);--ease-smooth:cubic-bezier(0.25,0.46,0.45,0.94);--transition-fast:all var(--duration-150) var(--ease-out);--transition-base:all var(--duration-200) var(--ease-in-out);--transition-slow:all var(--duration-300) var(--ease-in-out);--transition-colors:color var(--duration-200) var(--ease-in-out),background-color var(--duration-200) var(--ease-in-out),border-color var(--duration-200) var(--ease-in-out);--transition-transform:transform var(--duration-200) var(--ease-out);--transition-opacity:opacity var(--duration-200) var(--ease-in-out);--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1536px;--max-width-prose:65ch;--max-width-screen:100vw;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--opacity-disabled:0.5;--opacity-loading:0.6;--opacity-hover:0.8;--blur-sm:4px;--blur-base:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px}[data-theme=dark]{--color-bg-primary:var(--color-secondary-900);--color-bg-secondary:var(--color-secondary-800);--color-bg-tertiary:var(--color-secondary-700);--color-bg-dark:var(--color-secondary-950,#020617);--color-text-primary:var(--color-secondary-50);--color-text-secondary:var(--color-secondary-300);--color-text-tertiary:var(--color-secondary-400);--color-text-inverse:var(--color-secondary-900);--color-border-light:var(--color-secondary-700);--color-border-medium:var(--color-secondary-600);--color-border-dark:var(--color-secondary-500);--shadow-xs:0 1px 2px 0 #0000004d;--shadow-sm:0 1px 3px 0 #0006,0 1px 2px -1px #0006;--shadow-base:0 4px 6px -1px #0006,0 2px 4px -2px #0006;--shadow-md:0 10px 15px -3px #0006,0 4px 6px -4px #0006;--shadow-lg:0 20px 25px -5px #00000080,0 8px 10px -6px #00000080;--shadow-xl:0 25px 50px -12px #0009;--shadow-2xl:0 30px 60px -15px #000000b3;--shadow-primary:0 0 0 3px #1a8cff40;--shadow-error:0 0 0 3px #ef444440;--shadow-success:0 0 0 3px #22c55e40}:root,[data-theme=dark]{transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);transition:background-color var(--duration-300) var(--ease-in-out),color var(--duration-300) var(--ease-in-out)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:var(--font-sans);font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}code,kbd,pre,samp{font-family:var(--font-mono);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none;cursor:pointer}[type=button]:disabled,[type=reset]:disabled,[type=submit]:disabled,button:disabled{cursor:not-allowed}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{cursor:pointer;display:list-item}ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}a{color:inherit;text-decoration:inherit}:disabled{cursor:not-allowed}:focus-visible{outline:2px solid #1a8cff;outline:2px solid var(--color-primary,#1a8cff);outline-offset:2px}:focus:not(:focus-visible){outline:none}::placeholder{color:#94a3b8;color:var(--color-text-tertiary,#94a3b8);opacity:1}::selection{background-color:#8dcbff;background-color:var(--color-primary-200,#8dcbff);color:#0f172a;color:var(--color-text-primary,#0f172a)}::-webkit-scrollbar{height:12px;width:12px}::-webkit-scrollbar-track{background-color:#f8fafc;background-color:var(--color-bg-secondary,#f8fafc)}::-webkit-scrollbar-thumb{background-color:#cbd5e1;background-color:var(--color-secondary-300,#cbd5e1);border:3px solid #f8fafc;border:3px solid var(--color-bg-secondary,#f8fafc);border-radius:9999px;border-radius:var(--radius-full,9999px)}::-webkit-scrollbar-thumb:hover{background-color:#94a3b8;background-color:var(--color-secondary-400,#94a3b8)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.m-0{margin:var(--spacing-0)}.m-1{margin:var(--spacing-1)}.m-2{margin:var(--spacing-2)}.m-3{margin:var(--spacing-3)}.m-4{margin:var(--spacing-4)}.m-6{margin:var(--spacing-6)}.m-8{margin:var(--spacing-8)}.m-auto{margin:auto}.my-auto{margin-bottom:auto;margin-top:auto}.mt-0{margin-top:var(--spacing-0)}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-3{margin-top:var(--spacing-3)}.mt-4{margin-top:var(--spacing-4)}.mt-6{margin-top:var(--spacing-6)}.mt-8{margin-top:var(--spacing-8)}.mb-0{margin-bottom:var(--spacing-0)}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-3{margin-bottom:var(--spacing-3)}.mb-4{margin-bottom:var(--spacing-4)}.mb-6{margin-bottom:var(--spacing-6)}.mb-8{margin-bottom:var(--spacing-8)}.ml-0{margin-left:var(--spacing-0)}.ml-1{margin-left:var(--spacing-1)}.ml-2{margin-left:var(--spacing-2)}.ml-3{margin-left:var(--spacing-3)}.ml-4{margin-left:var(--spacing-4)}.ml-auto{margin-left:auto}.mr-0{margin-right:var(--spacing-0)}.mr-1{margin-right:var(--spacing-1)}.mr-2{margin-right:var(--spacing-2)}.mr-3{margin-right:var(--spacing-3)}.mr-4{margin-right:var(--spacing-4)}.mr-auto{margin-right:auto}.p-0{padding:var(--spacing-0)}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-6{padding:var(--spacing-6)}.p-8{padding:var(--spacing-8)}.px-0{padding-left:var(--spacing-0);padding-right:var(--spacing-0)}.px-1{padding-left:var(--spacing-1);padding-right:var(--spacing-1)}.px-2{padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.px-3{padding-left:var(--spacing-3);padding-right:var(--spacing-3)}.px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.px-6{padding-left:var(--spacing-6);padding-right:var(--spacing-6)}.px-8{padding-left:var(--spacing-8);padding-right:var(--spacing-8)}.py-0{padding-bottom:var(--spacing-0);padding-top:var(--spacing-0)}.py-1{padding-bottom:var(--spacing-1);padding-top:var(--spacing-1)}.py-2{padding-bottom:var(--spacing-2);padding-top:var(--spacing-2)}.py-3{padding-bottom:var(--spacing-3);padding-top:var(--spacing-3)}.py-4{padding-bottom:var(--spacing-4);padding-top:var(--spacing-4)}.py-6{padding-bottom:var(--spacing-6);padding-top:var(--spacing-6)}.py-8{padding-bottom:var(--spacing-8);padding-top:var(--spacing-8)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-inverse{color:var(--color-text-inverse)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.bg-primary{background-color:var(--color-primary)}.bg-tertiary{background-color:var(--color-bg-tertiary)}.bg-white{background-color:var(--color-bg-primary)}.bg-dark{background-color:var(--color-bg-dark)}.bg-transparent{background-color:initial}.rounded-none{border-radius:var(--radius-none)}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-base)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-none{box-shadow:none}.shadow-xs{box-shadow:var(--shadow-xs)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-base)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.w-full{width:100%}.w-auto{width:auto}.w-screen{width:100vw}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-4xl{max-width:56rem}.max-w-full{max-width:100%}.max-w-prose{max-width:var(--max-width-prose)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-default{cursor:default}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.transition{transition:var(--transition-base)}.transition-fast{transition:var(--transition-fast)}.transition-slow{transition:var(--transition-slow)}.transition-colors{transition:var(--transition-colors)}.transition-transform{transition:var(--transition-transform)}.transition-none{transition:none}.scale-95{transform:scale(.95)}.scale-100{transform:scale(1)}.scale-105{transform:scale(1.05)}.scale-110{transform:scale(1.1)}.visible{visibility:visible}.invisible{visibility:hidden}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.not-sr-only{clip:auto;height:auto;margin:0;overflow:visible;padding:0;position:static;white-space:normal;width:auto}@media (max-width:768px){.md\:hidden{display:none}.md\:flex{display:flex}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-center{text-align:center}.md\:px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.md\:py-4{padding-bottom:var(--spacing-4);padding-top:var(--spacing-4)}}@media (max-width:1024px){.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.container{margin-left:auto;margin-right:auto;padding-left:var(--spacing-4);padding-right:var(--spacing-4);width:100%}@media (min-width:640px){.container{max-width:var(--container-sm)}}@media (min-width:768px){.container{max-width:var(--container-md)}}@media (min-width:1024px){.container{max-width:var(--container-lg)}}@media (min-width:1280px){.container{max-width:var(--container-xl)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}@keyframes ping{0%{opacity:1;transform:scale(1)}75%,to{opacity:0;transform:scale(2)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:500px;opacity:1}}@keyframes slideUp{0%{max-height:500px;opacity:1}to{max-height:0;opacity:0}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.animate-fade-in{animation:fadeIn var(--duration-300) var(--ease-in-out)}.animate-fade-out{animation:fadeOut var(--duration-300) var(--ease-in-out)}.animate-fade-in-up{animation:fadeInUp var(--duration-500) var(--ease-out)}.animate-fade-in-down{animation:fadeInDown var(--duration-500) var(--ease-out)}.animate-fade-in-left{animation:fadeInLeft var(--duration-500) var(--ease-out)}.animate-fade-in-right{animation:fadeInRight var(--duration-500) var(--ease-out)}.animate-slide-in-up{animation:slideInUp var(--duration-300) var(--ease-out)}.animate-slide-in-down{animation:slideInDown var(--duration-300) var(--ease-out)}.animate-slide-in-left{animation:slideInLeft var(--duration-300) var(--ease-out)}.animate-slide-in-right{animation:slideInRight var(--duration-300) var(--ease-out)}.animate-scale-in{animation:scaleIn var(--duration-200) var(--ease-out)}.animate-scale-out{animation:scaleOut var(--duration-200) var(--ease-in)}.animate-bounce{animation:bounce var(--duration-1000) var(--ease-in-out) infinite}.animate-pulse{animation:pulse var(--duration-1000) var(--ease-in-out) infinite}.animate-shake{animation:shake var(--duration-500) var(--ease-in-out)}.animate-spin{animation:spin var(--duration-1000) linear infinite}.animate-ping{animation:ping var(--duration-1000) cubic-bezier(0,0,.2,1) infinite}.animate-shimmer{animation:shimmer var(--duration-1000) linear infinite;background:linear-gradient(90deg,var(--color-secondary-200) 0,var(--color-secondary-100) 50%,var(--color-secondary-200) 100%);background-size:1000px 100%}.animate-rotate{animation:rotate var(--duration-1000) linear infinite}.animate-wiggle{animation:wiggle var(--duration-500) var(--ease-in-out)}.loading-spinner{animation:spin var(--duration-700) linear infinite;border:4px solid var(--color-secondary-200);border-radius:var(--radius-full);border-top-color:var(--color-primary);display:inline-block;height:40px;width:40px}.loading-spinner-sm{border-width:2px;height:20px;width:20px}.loading-spinner-lg{border-width:6px;height:60px;width:60px}.skeleton{animation:shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--color-secondary-200) 0,var(--color-secondary-100) 50%,var(--color-secondary-200) 100%);background-size:200% 100%;border-radius:var(--radius-base)}.skeleton-text{border-radius:var(--radius-sm);height:1em;margin-bottom:.5em}.skeleton-text:last-child{margin-bottom:0;width:80%}.skeleton-circle{border-radius:var(--radius-full);height:40px;width:40px}.skeleton-rect{height:200px;width:100%}.hover-lift{transition:var(--transition-transform)}.hover-lift:hover{transform:translateY(-4px)}.hover-scale{transition:var(--transition-transform)}.hover-scale:hover{transform:scale(1.05)}.hover-grow{transition:var(--transition-transform)}.hover-grow:hover{transform:scale(1.02)}.hover-shadow{transition:box-shadow var(--duration-300) var(--ease-out)}.hover-shadow:hover{box-shadow:var(--shadow-lg)}.hover-glow{position:relative;transition:var(--transition-colors)}.hover-glow:before{border-radius:inherit;box-shadow:0 0 20px var(--color-primary);content:"";inset:0;opacity:0;position:absolute;transition:opacity var(--duration-300) var(--ease-out)}.hover-glow:hover:before{opacity:.5}.focus-ring:focus-visible{box-shadow:var(--shadow-primary);outline:none}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity var(--duration-300) var(--ease-out),transform var(--duration-300) var(--ease-out)}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity var(--duration-200) var(--ease-in)}.modal-backdrop-enter{opacity:0}.modal-backdrop-enter-active{opacity:1;transition:opacity var(--duration-200) var(--ease-out)}.modal-backdrop-exit{opacity:1}.modal-backdrop-exit-active{opacity:0;transition:opacity var(--duration-200) var(--ease-in)}.modal-enter{opacity:0;transform:scale(.95)}.modal-enter-active{transition:opacity var(--duration-200) var(--ease-out),transform var(--duration-200) var(--ease-out)}.modal-enter-active,.modal-exit{opacity:1;transform:scale(1)}.modal-exit-active{opacity:0;transform:scale(.95);transition:opacity var(--duration-150) var(--ease-in),transform var(--duration-150) var(--ease-in)}.delay-75{animation-delay:var(--duration-75)}.delay-100{animation-delay:var(--duration-100)}.delay-150{animation-delay:var(--duration-150)}.delay-200{animation-delay:var(--duration-200)}.delay-300{animation-delay:var(--duration-300)}.delay-500{animation-delay:var(--duration-500)}.stagger-item{animation:fadeInUp var(--duration-500) var(--ease-out);animation-fill-mode:both}.stagger-item:first-child{animation-delay:0ms}.stagger-item:nth-child(2){animation-delay:50ms}.stagger-item:nth-child(3){animation-delay:.1s}.stagger-item:nth-child(4){animation-delay:.15s}.stagger-item:nth-child(5){animation-delay:.2s}.stagger-item:nth-child(6){animation-delay:.25s}.stagger-item:nth-child(7){animation-delay:.3s}.stagger-item:nth-child(8){animation-delay:.35s}.stagger-item:nth-child(9){animation-delay:.4s}.stagger-item:nth-child(10){animation-delay:.45s}.btn{align-items:center;appearance:none;-webkit-appearance:none;background:none;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--spacing-2);justify-content:center;line-height:var(--line-height-tight);padding:var(--spacing-3) var(--spacing-6);text-align:center;text-decoration:none;transition:var(--transition-colors),var(--transition-transform);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:focus-visible{box-shadow:var(--shadow-primary);outline:none}.btn:disabled{cursor:not-allowed;opacity:var(--opacity-disabled);pointer-events:none}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-600);border-color:var(--color-primary-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){background-color:var(--color-primary-700);border-color:var(--color-primary-700);transform:translateY(0)}.btn-secondary{background-color:var(--color-secondary-100);border-color:var(--color-secondary-200);color:var(--color-secondary-700)}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-200);border-color:var(--color-secondary-300);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary:active:not(:disabled){background-color:var(--color-secondary-300);border-color:var(--color-secondary-400);transform:translateY(0)}.btn-outline{background-color:initial;border-color:var(--color-primary);color:var(--color-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary-50);border-color:var(--color-primary-600);color:var(--color-primary-700)}.btn-outline:active:not(:disabled){background-color:var(--color-primary-100)}.btn-ghost{background-color:initial;border-color:#0000;color:var(--color-text-primary)}.btn-ghost:hover:not(:disabled){background-color:var(--color-secondary-100);color:var(--color-primary)}.btn-ghost:active:not(:disabled){background-color:var(--color-secondary-200)}.btn-danger{background-color:var(--color-error);border-color:var(--color-error);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){background-color:var(--color-error-600);border-color:var(--color-error-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-danger:active:not(:disabled){background-color:var(--color-error-700);border-color:var(--color-error-700);transform:translateY(0)}.btn-success{background-color:var(--color-success);border-color:var(--color-success);color:var(--color-text-inverse)}.btn-success:hover:not(:disabled){background-color:var(--color-success-600);border-color:var(--color-success-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-success:active:not(:disabled){background-color:var(--color-success-700);border-color:var(--color-success-700);transform:translateY(0)}.btn-warning{background-color:var(--color-warning);border-color:var(--color-warning);color:var(--color-secondary-900)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-600);border-color:var(--color-warning-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-warning:active:not(:disabled){background-color:var(--color-warning-700);border-color:var(--color-warning-700);transform:translateY(0)}.btn-sm{font-size:var(--font-size-sm);gap:var(--spacing-1);padding:var(--spacing-2) var(--spacing-4)}.btn-lg{font-size:var(--font-size-lg);padding:var(--spacing-4) var(--spacing-8)}.btn-lg,.btn-xl{gap:var(--spacing-3)}.btn-xl{font-size:var(--font-size-xl);padding:var(--spacing-5) var(--spacing-10)}.btn-block{display:flex;width:100%}.btn-icon{aspect-ratio:1;padding:var(--spacing-2);width:auto}.btn-icon.btn-sm{padding:var(--spacing-1)}.btn-icon.btn-lg{padding:var(--spacing-3)}.btn-icon-rounded{border-radius:var(--radius-full)}.btn-group{display:inline-flex;gap:var(--spacing-2)}.btn-group .btn{margin:0}.btn-group-attached{display:inline-flex;gap:0}.btn-group-attached .btn{border-radius:0;margin-left:-1px}.btn-group-attached .btn:first-child{border-bottom-left-radius:var(--radius-md);border-top-left-radius:var(--radius-md);margin-left:0}.btn-group-attached .btn:last-child{border-bottom-right-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.btn-group-attached .btn:focus{position:relative;z-index:1}.btn-loading{color:#0000;pointer-events:none;position:relative}.btn-loading:after{animation:spin var(--duration-700) linear infinite;border:2px solid;border-radius:var(--radius-full);border-top:2px solid #0000;color:inherit;content:"";height:1em;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:1em}.btn-danger.btn-loading:after,.btn-primary.btn-loading:after,.btn-success.btn-loading:after,.btn-warning.btn-loading:after{border-color:var(--color-text-inverse);border-top-color:#0000}.btn-link{background:#0000;border:none;color:var(--color-primary);font-weight:var(--font-weight-normal);height:auto;padding:0;text-decoration:underline}.btn-link:hover:not(:disabled){background:#0000;color:var(--color-primary-700);text-decoration:none;transform:none}.btn-fab{border-radius:var(--radius-full);bottom:var(--spacing-8);box-shadow:var(--shadow-lg);height:56px;padding:0;position:fixed;right:var(--spacing-8);width:56px;z-index:var(--z-sticky)}.btn-fab:hover:not(:disabled){box-shadow:var(--shadow-xl);transform:scale(1.05)}.quote-button{composes:btn btn-primary}.submit-button{composes:btn btn-primary btn-block}.cancel-button{composes:btn btn-secondary}.delete-button{composes:btn btn-danger}@media (max-width:768px){.btn{font-size:var(--font-size-sm);padding:var(--spacing-2) var(--spacing-4)}.btn-lg{font-size:var(--font-size-base);padding:var(--spacing-3) var(--spacing-6)}.btn-fab{bottom:var(--spacing-4);height:48px;right:var(--spacing-4);width:48px}.btn-group-stack-mobile{flex-direction:column;width:100%}.btn-group-stack-mobile .btn{width:100%}}@media (prefers-contrast:high){.btn{border-width:2px}.btn-ghost,.btn-link{text-decoration:underline}}.btn:focus:not(:focus-visible){box-shadow:none}.card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:var(--transition-base)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-image{aspect-ratio:16/9;background-color:var(--color-secondary-100);overflow:hidden;position:relative;width:100%}.card-image img{height:100%;object-fit:cover;transition:var(--transition-transform);width:100%}.card:hover .card-image img{transform:scale(1.05)}.card-image-square{aspect-ratio:1/1}.card-image-portrait{aspect-ratio:3/4}.card-header{padding:var(--spacing-4) var(--spacing-4) 0}.card-body,.card-content{flex:1 1;padding:var(--spacing-4)}.card-body:first-child,.card-content:first-child{padding-top:var(--spacing-4)}.card-footer{margin-top:auto;padding:0 var(--spacing-4) var(--spacing-4)}.card-title{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.card-subtitle,.card-title{margin-bottom:var(--spacing-2)}.card-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.card-description,.card-excerpt{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-3)}.card-description-truncate,.card-excerpt-truncate{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.card-meta{color:var(--color-text-tertiary);font-size:var(--font-size-sm);gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.card-meta,.card-meta-item{align-items:center;display:flex}.card-meta-item{gap:var(--spacing-1)}.card-badge{background-color:var(--color-primary);border-radius:var(--radius-full);color:var(--color-text-inverse);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--spacing-1) var(--spacing-3);position:absolute;right:var(--spacing-3);top:var(--spacing-3);z-index:1}.card-badge-success{background-color:var(--color-success)}.card-badge-warning{background-color:var(--color-warning);color:var(--color-secondary-900)}.card-badge-error{background-color:var(--color-error)}.card-badge-info{background-color:var(--color-info)}.card-outlined{border:2px solid var(--color-border-medium);box-shadow:none}.card-outlined:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.card-elevated{border:none;box-shadow:var(--shadow-md)}.card-elevated:hover{box-shadow:var(--shadow-lg)}.card-flat{border:1px solid var(--color-border-light);box-shadow:none}.card-flat:hover{box-shadow:var(--shadow-sm)}.card-interactive{cursor:pointer;-webkit-user-select:none;user-select:none}.card-interactive:active{transform:translateY(0)}.card-horizontal{flex-direction:row}.card-horizontal .card-image{aspect-ratio:1/1;flex-shrink:0;width:40%}.card-horizontal .card-body,.card-horizontal .card-content{width:60%}.card-compact .card-body,.card-compact .card-content{padding:var(--spacing-3)}.card-compact .card-footer{padding:0 var(--spacing-3) var(--spacing-3)}.card-spacious .card-body,.card-spacious .card-content{padding:var(--spacing-6)}.card-spacious .card-footer{padding:0 var(--spacing-6) var(--spacing-6)}.card-actions{display:flex;gap:var(--spacing-2);margin-top:var(--spacing-3)}.card-actions .btn{flex:1 1}.card-link{color:inherit;display:block}.card-link,.card-link:hover{text-decoration:none}.card-grid{grid-gap:var(--spacing-6);display:grid;gap:var(--spacing-6);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.card-grid-2{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.card-grid-4{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.product-card{composes:card card-interactive}.product-card-price{color:var(--color-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.product-card-brand{color:var(--color-text-tertiary);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.blog-card{composes:card}.blog-card-category{background-color:var(--color-primary-50);border-radius:var(--radius-sm);color:var(--color-primary);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);padding:var(--spacing-1) var(--spacing-2);text-transform:uppercase}.project-card{composes:card card-interactive}.project-card-tech{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.project-card-cta{align-items:center;color:var(--color-primary);display:inline-flex;font-weight:var(--font-weight-medium);gap:var(--spacing-1);transition:var(--transition-colors)}.card:hover .project-card-cta{color:var(--color-primary-700)}.testimonial-card{composes:card card-elevated;text-align:center}.testimonial-card-rating{color:var(--color-warning);display:flex;gap:var(--spacing-1);justify-content:center;margin-bottom:var(--spacing-3)}.testimonial-card-author{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-2)}.testimonial-card-avatar{border:3px solid var(--color-border-light);border-radius:var(--radius-full);height:64px;object-fit:cover;width:64px}.testimonial-card-name{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.testimonial-card-company{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}@media (max-width:768px){.card-grid{gap:var(--spacing-4)}.card-grid,.card-grid-2,.card-grid-4{grid-template-columns:1fr}.card-horizontal{flex-direction:column}.card-horizontal .card-image{aspect-ratio:16/9;width:100%}.card-horizontal .card-body,.card-horizontal .card-content{width:100%}.card-title{font-size:var(--font-size-base)}.card-body,.card-content{padding:var(--spacing-3)}.card-footer{padding:0 var(--spacing-3) var(--spacing-3)}}.card-loading{opacity:var(--opacity-loading);pointer-events:none}.card-skeleton{animation:pulse var(--duration-1000) infinite}.card-skeleton .card-image{animation:shimmer var(--duration-1000) linear infinite;background:linear-gradient(90deg,var(--color-secondary-200) 0,var(--color-secondary-100) 50%,var(--color-secondary-200) 100%);background-size:200% 100%}.card-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){.card,.card-image img{transition:none}.card:hover,.card:hover .card-image img{transform:none}}.form{width:100%}.form-section{margin-bottom:var(--spacing-8)}.form-section-title{border-bottom:2px solid var(--color-border-light);color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);padding-bottom:var(--spacing-3)}.form-group,.form-section-title{margin-bottom:var(--spacing-4)}.form-group-inline{align-items:flex-start;display:flex;gap:var(--spacing-4)}.form-group-inline>*{flex:1 1}.form-label,label{color:var(--color-text-primary);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);margin-bottom:var(--spacing-2)}.form-label-inline{align-items:center;display:inline-flex;margin-bottom:0;margin-right:var(--spacing-2)}.required{color:var(--color-error)}.optional,.required{margin-left:var(--spacing-1)}.optional{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal)}.form-control,.form-input,input[type=date],input[type=datetime-local],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],select,textarea{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--color-bg-primary);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-primary);display:block;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);padding:var(--spacing-3) var(--spacing-4);transition:var(--transition-colors);width:100%}.form-control:hover:not(:disabled):not(:focus),.form-input:hover:not(:disabled):not(:focus),input:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:var(--color-border-dark)}.form-control:focus,.form-input:focus,input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:var(--shadow-primary);outline:none}.form-control::placeholder,.form-input::placeholder,input::placeholder,textarea::placeholder{color:var(--color-text-tertiary);opacity:1}.form-control:disabled,.form-input:disabled,input:disabled,select:disabled,textarea:disabled{background-color:var(--color-bg-secondary);color:var(--color-text-tertiary);cursor:not-allowed;opacity:var(--opacity-disabled)}.form-input-sm,.input-sm{font-size:var(--font-size-sm);padding:var(--spacing-2) var(--spacing-3)}.form-input-lg,.input-lg{font-size:var(--font-size-lg);padding:var(--spacing-4) var(--spacing-6)}textarea{min-height:100px;resize:vertical}textarea.no-resize{resize:none}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%2364748b' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right var(--spacing-3) center;background-repeat:no-repeat;background-size:12px;cursor:pointer;padding-right:var(--spacing-10)}select:disabled{cursor:not-allowed}select[multiple]{background-image:none;padding-right:var(--spacing-4)}.form-check{align-items:flex-start;display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-3)}.form-check-input,input[type=checkbox],input[type=radio]{background-color:var(--color-bg-primary);border:2px solid var(--color-border-dark);cursor:pointer;flex-shrink:0;height:18px;margin-top:.15em;transition:var(--transition-colors);width:18px}input[type=checkbox]{border-radius:var(--radius-sm)}input[type=radio]{border-radius:var(--radius-full)}input[type=checkbox]:checked,input[type=radio]:checked{background-color:var(--color-primary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3E%3Cpath d='M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:12px;border-color:var(--color-primary)}input[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3E%3Ccircle cx='8' cy='8' r='4'/%3E%3C/svg%3E")}input[type=checkbox]:focus,input[type=radio]:focus{box-shadow:var(--shadow-primary);outline:none}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.form-check-label{color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-base);line-height:var(--line-height-normal);-webkit-user-select:none;user-select:none}.form-input-success,.form-input.is-valid,input.is-valid,select.is-valid,textarea.is-valid{border-color:var(--color-success)}.form-input-success:focus,.form-input.is-valid:focus,input.is-valid:focus,select.is-valid:focus,textarea.is-valid:focus{border-color:var(--color-success);box-shadow:var(--shadow-success)}.form-input-error,.form-input.is-invalid,input.is-invalid,select.is-invalid,textarea.is-invalid{border-color:var(--color-error)}.form-input-error:focus,.form-input.is-invalid:focus,input.is-invalid:focus,select.is-invalid:focus,textarea.is-invalid:focus{border-color:var(--color-error);box-shadow:var(--shadow-error)}.form-feedback,.form-text{display:block;font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin-top:var(--spacing-2)}.form-text{color:var(--color-text-secondary)}.form-feedback-success,.valid-feedback{color:var(--color-success-700)}.form-feedback-error,.invalid-feedback{color:var(--color-error-700)}.form-feedback-warning{color:var(--color-warning-700)}.input-group{display:flex;gap:0;width:100%}.input-group>*{border-radius:0;margin-left:-1px}.input-group>:first-child{border-bottom-left-radius:var(--radius-md);border-top-left-radius:var(--radius-md);margin-left:0}.input-group>:last-child{border-bottom-right-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.input-group>:focus{position:relative;z-index:1}.input-group-append,.input-group-prepend{align-items:center;background-color:var(--color-bg-secondary);border:1px solid var(--color-border-medium);color:var(--color-text-secondary);display:flex;font-size:var(--font-size-base);padding:var(--spacing-3) var(--spacing-4);white-space:nowrap}.form-file{position:relative}input[type=file]{height:0;opacity:0;position:absolute;width:0}.form-file-label{align-items:center;background-color:var(--color-bg-secondary);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);transition:var(--transition-colors)}.form-file-label:hover{background-color:var(--color-secondary-200);border-color:var(--color-border-dark)}input[type=file]:focus+.form-file-label{outline:2px solid var(--color-primary);outline-offset:2px}.form-file-name{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-2)}.form-switch{align-items:center;display:flex;gap:var(--spacing-3)}.switch-input{-webkit-appearance:none;appearance:none;background-color:var(--color-secondary-300);border-radius:var(--radius-full);cursor:pointer;height:24px;position:relative;transition:var(--transition-colors);width:48px}.switch-input:before{background-color:var(--color-bg-primary);border-radius:var(--radius-full);content:"";height:20px;left:2px;position:absolute;top:2px;transition:var(--transition-transform);width:20px}.switch-input:checked{background-color:var(--color-primary)}.switch-input:checked:before{transform:translateX(24px)}.switch-input:focus{box-shadow:var(--shadow-primary);outline:none}.switch-input:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.form-search{position:relative}.form-search-icon{color:var(--color-text-tertiary);left:var(--spacing-4);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.form-search input{padding-left:var(--spacing-10)}.form-actions{border-top:1px solid var(--color-border-light);display:flex;gap:var(--spacing-3);margin-top:var(--spacing-6);padding-top:var(--spacing-6)}.form-actions-right{justify-content:flex-end}.form-actions-center{justify-content:center}.form-actions-between{justify-content:space-between}fieldset{border:1px solid var(--color-border-light);border-radius:var(--radius-md);margin-bottom:var(--spacing-4);padding:var(--spacing-4)}legend{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);padding:0 var(--spacing-2)}@media (max-width:768px){.form-actions,.form-group-inline{flex-direction:column}.form-actions .btn{width:100%}.input-group{flex-direction:column;gap:var(--spacing-2)}.input-group>*{border-radius:var(--radius-md)!important;margin-left:0}}.form-label-sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){.switch-input,.switch-input:before,input,select,textarea{transition:none}}.navbar{backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));background:#ffffffd9;border-bottom:1px solid #64748b1a;box-shadow:var(--shadow-sm);left:0;right:0;transition:all var(--duration-300) var(--ease-out);z-index:var(--z-sticky)}[data-theme=dark] .navbar{background:#0f172ad9;border-bottom-color:#64748b33}.navbar-scrolled{backdrop-filter:blur(var(--blur-xl));-webkit-backdrop-filter:blur(var(--blur-xl));background:#fffffff2;border-bottom-color:#64748b33;box-shadow:var(--shadow-md)}[data-theme=dark] .navbar-scrolled{background:#0f172af2;border-bottom-color:#64748b4d}.navbar-scrolled .navbar-container{padding-bottom:var(--spacing-3);padding-top:var(--spacing-3)}.navbar-scrolled .logo-image{height:32px}.navbar-container{max-width:var(--container-2xl);padding:var(--spacing-4) var(--spacing-6);transition:padding var(--duration-300) var(--ease-out)}.navbar-logo{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);gap:var(--spacing-3);text-decoration:none;transition:var(--transition-colors);z-index:2}.navbar-logo:hover{color:var(--color-primary)}.logo-image{transition:height var(--duration-300) var(--ease-out);width:auto}.logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent) 100%);-webkit-background-clip:text;background-clip:text;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.navbar-actions{align-items:center;display:flex;gap:var(--spacing-3);z-index:2}.menu-toggle{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;display:none;height:44px;justify-content:center;padding:0;transition:var(--transition-colors);width:44px;z-index:2}.menu-toggle:hover{background-color:var(--color-secondary-100);color:var(--color-primary)}.menu-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.nav-menu{align-items:center;gap:var(--spacing-2);margin:0;padding:0}.nav-item,.nav-link{position:relative}.nav-link{align-items:center;border-radius:var(--radius-md);color:var(--color-text-secondary);display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);text-decoration:none;transition:var(--transition-colors)}.nav-link:before{background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:var(--radius-full);bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%) scaleX(0);transition:transform var(--duration-200) var(--ease-out);width:80%}.nav-link:hover{background-color:var(--color-primary-50);color:var(--color-primary)}.nav-link.active{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.nav-link.active:before{transform:translateX(-50%) scaleX(1)}.nav-item-cart{margin-left:var(--spacing-4)}.nav-cart-link{background:linear-gradient(135deg,var(--color-primary-50),var(--color-primary-100));border:1px solid var(--color-primary-200);color:var(--color-primary-700)}.nav-cart-link:hover{background:linear-gradient(135deg,var(--color-primary-100),var(--color-primary-200));border-color:var(--color-primary-300);transform:translateY(-1px)}.nav-cart-link.active{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-600));border-color:var(--color-primary-700);color:var(--color-text-inverse)}.cart-label{font-weight:var(--font-weight-medium)}.cart-badge{align-items:center;animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-600));border:2px solid var(--color-bg-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:var(--color-text-inverse);display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);height:20px;justify-content:center;min-width:20px;padding:0 var(--spacing-1);right:-4px;top:-4px}@media (max-width:1024px){.navbar-container{padding:var(--spacing-3) var(--spacing-4)}.nav-menu{gap:var(--spacing-1)}.nav-link{font-size:var(--font-size-sm);padding:var(--spacing-2) var(--spacing-3)}.nav-item-cart{margin-left:var(--spacing-2)}.cart-label{display:none}}@media (max-width:768px){.menu-toggle{display:flex}.nav-menu{align-items:flex-start;background:var(--color-bg-primary);box-shadow:var(--shadow-xl);flex-direction:column;gap:0;height:100vh;overflow-y:auto;padding:var(--spacing-20) var(--spacing-6) var(--spacing-6);position:fixed;right:-100%;top:0;transition:right var(--duration-300) var(--ease-out);width:min(320px,80vw)}.nav-menu.active{right:0}.nav-item{border-bottom:1px solid var(--color-border-light);width:100%}.nav-item:last-child{border-bottom:none}.nav-link{border-radius:0;font-size:var(--font-size-base);padding:var(--spacing-4);width:100%}.nav-link:before{height:100%;left:0;transform:translateX(0) scaleX(0);width:4px}.nav-link.active:before{transform:translateX(0) scaleX(1)}.nav-item-cart{border-top:2px solid var(--color-border-medium);margin-left:0;margin-top:var(--spacing-4);padding-top:var(--spacing-4)}.nav-cart-link{justify-content:center}.cart-label{display:inline}.nav-menu.active:before{animation:fadeIn var(--duration-200) ease-out;-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));background:#00000080;bottom:0;content:"";left:0;position:fixed;right:0;top:0;z-index:-1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){.cart-badge,.logo-image,.nav-link,.nav-link:before,.nav-menu,.navbar,.navbar-container{animation:none;transition:none}.nav-link:hover,.navbar:hover{transform:none}}@media (prefers-contrast:high){.navbar{background:var(--color-bg-primary);border-bottom:2px solid var(--color-border-dark)}.nav-link{border:1px solid #0000}.nav-link.active,.nav-link:hover{border-color:var(--color-primary)}}.footer{background:linear-gradient(135deg,var(--color-secondary-900) 0,var(--color-secondary-800) 100%);border-top:1px solid var(--color-secondary-700);color:var(--color-secondary-100);margin-top:auto}.footer-content{max-width:var(--container-2xl);padding:var(--spacing-12) var(--spacing-6) var(--spacing-6)}.footer-grid{grid-gap:var(--spacing-8);border-bottom:1px solid var(--color-secondary-700);gap:var(--spacing-8);margin-bottom:var(--spacing-8);padding-bottom:var(--spacing-8)}.footer-column h3{color:var(--color-text-inverse);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3);position:relative}.footer-column h3:after{background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:var(--radius-full);bottom:0;content:"";height:3px;left:0;position:absolute;width:40px}.footer-description{color:var(--color-secondary-300);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-4)}.footer-contact{gap:var(--spacing-3)}.contact-item{color:var(--color-secondary-300);font-size:var(--font-size-sm);gap:var(--spacing-2);transition:var(--transition-colors)}.contact-item svg{color:var(--color-primary-300)}.contact-item a{color:var(--color-secondary-300);text-decoration:none;transition:var(--transition-colors)}.contact-item a:hover,.contact-item:hover{color:var(--color-primary-300)}.footer-links{gap:var(--spacing-3);margin:0;padding:0}.footer-links li{padding-left:var(--spacing-4);position:relative}.footer-links li:before{color:var(--color-primary-400);content:"›";font-weight:var(--font-weight-bold);left:0;position:absolute;transition:transform var(--duration-200) var(--ease-out)}.footer-links li:hover:before{transform:translateX(4px)}.footer-links a{color:var(--color-secondary-300);font-size:var(--font-size-sm);text-decoration:none;transition:var(--transition-colors)}.footer-links a:hover{color:var(--color-primary-300)}.footer-social-text{color:var(--color-secondary-400);font-size:var(--font-size-sm);margin-bottom:var(--spacing-4)}.footer-social{gap:var(--spacing-3)}.footer-social a{background:var(--color-secondary-800);border:1px solid var(--color-secondary-700);border-radius:var(--radius-md);color:var(--color-secondary-300);height:44px;text-decoration:none;transition:all var(--duration-200) var(--ease-out);width:44px}.footer-social a:hover{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border-color:#0000;box-shadow:var(--shadow-lg);color:var(--color-text-inverse);transform:translateY(-4px)}.footer-social a svg{height:20px;width:20px}.footer-bottom{color:var(--color-secondary-400);font-size:var(--font-size-sm);gap:var(--spacing-4);padding-top:var(--spacing-6)}.footer-bottom-links{gap:var(--spacing-3)}.footer-bottom-links a{color:var(--color-secondary-400);text-decoration:none;transition:var(--transition-colors)}.footer-bottom-links a:hover{color:var(--color-primary-300);text-decoration:underline}.footer-bottom-links span{color:var(--color-secondary-600)}@media (max-width:1024px){.footer-grid{gap:var(--spacing-6);grid-template-columns:repeat(2,1fr)}.footer-content{padding:var(--spacing-10) var(--spacing-4) var(--spacing-4)}}@media (max-width:768px){.footer-grid{gap:var(--spacing-8);grid-template-columns:1fr}.footer-column:not(:last-child){border-bottom:1px solid var(--color-secondary-700);padding-bottom:var(--spacing-6)}.footer-bottom{flex-direction:column;gap:var(--spacing-3);text-align:center}.footer-bottom-links{flex-wrap:wrap;justify-content:center}}@media (max-width:480px){.footer-content{padding:var(--spacing-8) var(--spacing-4) var(--spacing-4)}.footer-grid{gap:var(--spacing-6)}.footer-column h3{font-size:var(--font-size-base)}.footer-social{justify-content:center}.footer-social a{height:40px;width:40px}}@media print{.footer-bottom-links,.footer-social{display:none}.footer{background:#fff;border-top:2px solid #000;color:#000}}@media (prefers-reduced-motion:reduce){.contact-item,.footer-links a,.footer-links li:before,.footer-social a{transition:none}.footer-links li:hover:before,.footer-social a:hover{transform:none}}@media (prefers-contrast:high){.footer{background:#000;border-top:3px solid #fff;color:#fff}.footer-grid{border-bottom:2px solid #fff}.footer-social a{border:2px solid #fff}.footer-social a:hover{background:#fff;color:#000}}.back-to-top{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border:none;border-radius:var(--radius-full);bottom:var(--spacing-8);box-shadow:var(--shadow-lg);color:var(--color-text-inverse);cursor:pointer;display:flex;height:48px;justify-content:center;opacity:0;position:fixed;right:var(--spacing-8);transform:translateY(20px);transition:all var(--duration-300) var(--ease-out);visibility:hidden;width:48px;z-index:var(--z-sticky)}.back-to-top.visible{opacity:1;transform:translateY(0);visibility:visible}.back-to-top:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.back-to-top:active{transform:translateY(-2px)}@media (max-width:768px){.back-to-top{bottom:var(--spacing-4);height:44px;right:var(--spacing-4);width:44px}}:root{--color-primary-hover:var(--color-primary-600);--color-accent-hover:var(--color-accent-600);--color-bg:var(--color-bg-primary);--color-bg-alt:var(--color-bg-secondary);--color-text:var(--color-text-primary);--color-text-light:var(--color-text-secondary);--color-text-white:var(--color-text-inverse);--color-border:var(--color-border-light);--font-family:var(--font-sans);--spacing-xs:var(--spacing-1);--spacing-sm:var(--spacing-2);--spacing-md:var(--spacing-4);--spacing-lg:var(--spacing-6);--spacing-xl:var(--spacing-8);--spacing-2xl:var(--spacing-12);--spacing-3xl:var(--spacing-16);--max-width:var(--container-xl);--navbar-height:80px;--sidebar-width:250px;--transition:var(--transition-base);--primary:var(--color-primary);--primary-dark:var(--color-primary-dark);--primary-light:var(--color-primary-light);--accent:var(--color-accent);--accent-dark:var(--color-accent-hover);--success:var(--color-success);--error:var(--color-error);--warning:var(--color-warning);--gray-50:var(--color-secondary-50);--gray-100:var(--color-secondary-100);--gray-200:var(--color-secondary-200);--gray-300:var(--color-secondary-300);--gray-400:var(--color-secondary-400);--gray-500:var(--color-secondary-500);--gray-600:var(--color-secondary-600);--gray-700:var(--color-secondary-700);--gray-800:var(--color-secondary-800);--gray-900:var(--color-secondary-900);--font-xs:var(--font-size-xs);--font-sm:var(--font-size-sm);--font-base:var(--font-size-base);--font-lg:var(--font-size-lg);--font-xl:var(--font-size-xl);--font-2xl:var(--font-size-2xl);--font-3xl:var(--font-size-3xl);--font-4xl:var(--font-size-4xl);--border-radius:var(--radius-md);--border-radius-lg:var(--radius-lg);--border-radius-full:var(--radius-full)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal)}.app{display:flex;flex-direction:column;min-height:100vh}.content{flex:1 1;padding-top:80px}.navbar{background-color:#2c3e50;color:#fff;position:fixed;top:0;width:100%;z-index:100}.navbar-container{align-items:center;display:flex;height:80px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.navbar-logo{color:#fff;font-size:1.8rem;font-weight:700}.nav-menu{display:flex;list-style:none}.nav-item{margin-left:2rem}.nav-link{color:#ecf0f1;font-size:1rem;padding:.5rem;transition:all .3s ease}.nav-link.active,.nav-link:hover{color:#3498db}.menu-icon{cursor:pointer;display:none;font-size:1.5rem}.nav-item-cart{margin-left:auto}.nav-cart-link{align-items:center;background-color:#3498db1a;border-radius:4px;display:flex;gap:.5rem;padding:.5rem 1rem;position:relative}.nav-cart-link:hover{background-color:#3498db33}.nav-cart-link svg{font-size:1.2rem}.cart-badge{background-color:#e74c3c;border-radius:10px;color:#fff;font-size:.7rem;font-weight:700;line-height:1;min-width:18px;padding:.15rem .4rem;position:absolute;right:-5px;text-align:center;top:-5px}.footer{background-color:#2c3e50;color:#fff;margin-top:4rem;padding:3rem 0 0}.footer-content{margin:0 auto;max-width:1200px;padding:0 2rem}.footer-grid{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:repeat(4,1fr);margin-bottom:3rem}.footer-column h3{color:#ecf0f1;font-size:1.2rem;font-weight:600;margin-bottom:1.5rem}.footer-description{color:#bdc3c7;font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.footer-contact{display:flex;flex-direction:column;gap:.75rem}.contact-item{align-items:center;color:#ecf0f1;display:flex;font-size:.95rem;gap:.75rem}.contact-item svg{color:#3498db;flex-shrink:0;font-size:1.1rem}.contact-item a{color:#ecf0f1;transition:color .3s ease}.contact-item a:hover{color:#3498db}.footer-links{display:flex;flex-direction:column;gap:.75rem;list-style:none}.footer-links a{color:#ecf0f1;font-size:.95rem;transition:color .3s ease}.footer-links a:hover{color:#3498db;padding-left:.5rem}.footer-social-text{color:#bdc3c7;font-size:.95rem;line-height:1.6;margin-bottom:1rem}.footer-social{display:flex;gap:1rem}.footer-social a{align-items:center;background-color:#34495e;border-radius:50%;color:#ecf0f1;display:flex;height:40px;justify-content:center;transition:all .3s ease;width:40px}.footer-social a:hover{background-color:#3498db;transform:translateY(-3px)}.footer-social svg{font-size:1.2rem}.footer-bottom{align-items:center;border-top:1px solid #34495e;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1.5rem 0}.footer-bottom p{color:#bdc3c7;font-size:.9rem;margin:0}.footer-bottom-links{align-items:center;display:flex;font-size:.9rem;gap:1rem}.footer-bottom-links a{color:#ecf0f1;transition:color .3s ease}.footer-bottom-links a:hover{color:#3498db}.footer-bottom-links span{color:#7f8c8d}.page{margin:0 auto;max-width:1200px;padding:2rem}h1{color:#2c3e50;font-size:2.5rem;margin-bottom:2rem}h2{color:#34495e;font-size:2rem;margin-bottom:1.5rem}.hero{background-color:#1f618d;border-radius:10px;color:#fff;margin-bottom:3rem;padding:4rem 2rem;text-align:center}.hero h1{color:#fff;font-size:3rem;margin-bottom:1rem}.hero p{font-size:1.2rem;margin-bottom:2rem}.cta-button{background-color:#fff;border:none;border-radius:5px;color:#1f618d;cursor:pointer;font-size:1rem;padding:.8rem 2rem;transition:all .3s ease}.cta-button:hover{background-color:#2c3e50;color:#fff}.features{margin-bottom:3rem;text-align:center}.feature-cards{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:2rem}.feature-card{background-color:#f8f9fa;border-radius:10px;box-shadow:0 5px 15px #0000001a;padding:2rem;transition:transform .3s ease}.feature-card:hover{transform:translateY(-10px)}.feature-icon{color:#3498db;font-size:2.5rem;margin-bottom:1rem}.about-section,.team-section{margin-bottom:3rem}.team-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:2rem}.team-member{text-align:center}.member-photo.placeholder{background-color:#ddd;border-radius:50%;height:150px;margin:0 auto 1rem;width:150px}.contact-container{grid-gap:3rem;gap:3rem;grid-template-columns:1fr 2fr}.contact-info{background-color:#1f618d;border-radius:10px;color:#fff;padding:2rem}.contact-info p{margin-bottom:1rem}.contact-info i{margin-right:.5rem}.social-links{margin-top:2rem}.social-links a{font-size:1.5rem;margin-right:1rem}.contact-form{background-color:#f8f9fa;border-radius:10px;padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:700;margin-bottom:.5rem}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:5px;font-family:inherit;padding:.8rem;width:100%}.submit-button{background-color:#3498db;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:.8rem 2rem;transition:background-color .3s ease}.submit-button:hover{background-color:#2980b9}.success-message{background-color:#2ecc71}.error-message,.success-message{border-radius:5px;color:#fff;margin-bottom:1rem;padding:1rem}.error-message{background-color:#e74c3c}.submit-button:disabled{background-color:#bdc3c7;cursor:not-allowed}.not-found-page{padding:4rem 2rem;text-align:center}.not-found-page h1{color:#3498db;font-size:5rem;margin-bottom:1rem}.not-found-page p{color:#7f8c8d;font-size:1.2rem;margin-bottom:2rem}.loading-container{align-items:center;display:flex;justify-content:center;min-height:400px;width:100%}.loading-spinner{animation:spin .8s linear infinite;border:4px solid #ecf0f1;border-radius:50%;border-top-color:#3498db;height:50px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}@media screen and (max-width:768px){.navbar-container{padding:0 1rem}.menu-icon{cursor:pointer;display:block;font-size:1.8rem}.nav-menu{background-color:#2c3e50;display:flex;flex-direction:column;left:-100%;opacity:0;position:absolute;top:80px;transition:all .5s ease;width:100%}.nav-menu.active{left:0;opacity:1;z-index:1}.nav-item{border-bottom:1px solid #34495e;margin:0;padding:1.5rem;text-align:center;width:100%}.nav-item-cart{margin-left:0}.nav-cart-link{justify-content:center}.cart-label{display:inline}.footer-grid{gap:2rem;grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column;gap:1rem;text-align:center}}@media screen and (max-width:480px){.footer-grid{gap:2rem;grid-template-columns:1fr}.footer-column{text-align:center}.footer-contact,.footer-links{align-items:center}.footer-social{justify-content:center}.contact-container{grid-template-columns:1fr}.hero h1{font-size:2rem}}.navbar-logo{align-items:center;display:flex}.logo-image{height:40px;margin-right:10px}.services{margin-bottom:3rem;text-align:center}.service-icon{display:inline-block;font-size:2.5rem;margin-bottom:1rem}.clients-section{background-color:#f8f9fa;border-radius:10px;margin-bottom:3rem;padding:2rem 0;text-align:center}.clients-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:2rem}.client-logo{align-items:center;background-color:#fff;border-radius:5px;box-shadow:0 2px 10px #0000001a;color:#888;display:flex;font-weight:700;height:100px;justify-content:center}.values-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:2rem}.value-item{background-color:#f8f9fa;border-radius:10px;box-shadow:0 5px 15px #0000001a;padding:2rem}.value-item h3{color:#3498db;margin-bottom:1rem}@media screen and (max-width:768px){.navbar-logo span{font-size:1.2rem}.logo-image{height:30px}}.contact-info .contact-logo{display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));height:auto;margin:1.5rem auto;max-width:200px;transition:transform .3s ease}.contact-info .contact-logo:hover{transform:scale(1.05)}.hero{align-items:center;background:linear-gradient(135deg,var(--color-primary-700) 0,var(--color-accent-600) 100%);display:flex;justify-content:center;min-height:600px;overflow:hidden;position:relative}.hero:before{background:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 600"><rect width="100%" height="100%" fill="url(%23grid)"/></svg>');content:"";inset:0;opacity:.3;position:absolute}.hero-content{color:var(--color-text-inverse);max-width:var(--container-lg);padding:var(--spacing-8) var(--spacing-4);position:relative;text-align:center;z-index:1}.hero h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-6)}.text-gradient{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff 0,var(--color-accent-200) 100%);-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--color-secondary-100);font-size:clamp(1.125rem,2vw,1.5rem);margin-bottom:var(--spacing-8);margin-left:auto;margin-right:auto;max-width:600px}.hero-actions{flex-wrap:wrap;justify-content:center}.cta-section,.services-section,.testimonials-section{position:relative}.bg-secondary{background-color:var(--color-bg-secondary)}.bg-gradient{background:linear-gradient(135deg,var(--color-primary-600) 0,var(--color-accent-500) 100%);color:var(--color-text-inverse)}.section-header{margin:0 auto;max-width:800px}.section-title{color:var(--color-text-primary);font-size:clamp(2rem,4vw,3rem);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-4)}.bg-gradient .section-title,.cta-section h2{color:var(--color-text-inverse)}.section-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg)}.bg-gradient .section-subtitle,.cta-section p{color:var(--color-secondary-100)}.service-icon-wrapper{align-items:center;background:var(--color-bg-secondary);border-radius:var(--radius-full);display:flex;height:80px;justify-content:center;margin:0 auto;transition:var(--transition-transform);width:80px}.card:hover .service-icon-wrapper{transform:scale(1.1) rotate(5deg)}.text-primary{color:var(--color-primary)}.text-accent{color:var(--color-accent)}.text-success{color:var(--color-success)}.text-info{color:var(--color-info)}.py-20{padding-bottom:5rem;padding-top:5rem}.mb-12{margin-bottom:3rem}.mt-12{margin-top:3rem}.mb-8{margin-bottom:2rem}.mb-4{margin-bottom:1rem}.max-w-2xl{max-width:42rem}@media (max-width:768px){.hero{min-height:500px}.hero-actions{flex-direction:column;width:100%}.hero-actions .btn{width:100%}.py-20{padding-bottom:3rem;padding-top:3rem}}.contact-container{grid-gap:var(--spacing-8);display:grid;gap:var(--spacing-8);grid-template-columns:1fr 1.5fr;margin:0 auto;max-width:var(--container-xl)}.contact-info-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.contact-info-item{align-items:center;color:var(--color-text-primary);display:flex;font-size:var(--font-size-base);gap:var(--spacing-3)}.contact-icon{color:var(--color-primary);flex-shrink:0;height:24px;width:24px}.contact-info-item a{color:var(--color-text-secondary);text-decoration:none;transition:var(--transition-colors)}.contact-info-item a:hover{color:var(--color-primary)}.social-links{display:flex;gap:var(--spacing-3)}.social-link{align-items:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);color:var(--color-text-secondary);display:flex;height:44px;justify-content:center;text-decoration:none;transition:all var(--duration-200) var(--ease-out);width:44px}.social-link:hover{background-color:var(--color-primary);box-shadow:var(--shadow-md);color:var(--color-text-inverse);transform:translateY(-4px)}.contact-logo{display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));height:auto;margin:0 auto;max-width:200px;transition:transform var(--duration-300) var(--ease-out)}.contact-logo:hover{transform:scale(1.05)}.alert{border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-4)}.alert-success{background-color:var(--color-success-50);border:1px solid var(--color-success-200);color:var(--color-success-700)}.alert-error{background-color:var(--color-error-50);border:1px solid var(--color-error-200);color:var(--color-error-700)}@media (max-width:768px){.contact-container{gap:var(--spacing-6);grid-template-columns:1fr}}.hero-small{background:linear-gradient(135deg,var(--color-primary-700) 0,var(--color-primary-500) 50%,var(--color-accent-600) 100%);color:var(--color-text-inverse);overflow:hidden;padding:var(--spacing-20) 0 var(--spacing-12);position:relative}.hero-small:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='rgba(255,255,255,0.05)' d='m0 96 48 16c48 16 144 48 240 48s192-32 288-48 192-16 288 0 192 48 288 53.3c96 5.7 192-16.3 240-26.6l48-10.7v192H0Z'/%3E%3C/svg%3E") no-repeat bottom;background-size:cover;bottom:0;content:"";left:0;opacity:.6;position:absolute;right:0;top:0}.hero-small .container{position:relative;z-index:1}.hero-small .section-title{color:var(--color-text-inverse);margin-bottom:var(--spacing-4)}.hero-small .section-subtitle{color:#ffffffe6;font-size:var(--font-size-lg)}.team-avatar{align-items:center;background:linear-gradient(135deg,var(--color-primary-100),var(--color-accent-100));border-radius:var(--radius-full);color:var(--color-primary-600);display:flex;height:80px;justify-content:center;margin:0 auto;transition:all var(--duration-300) var(--ease-out);width:80px}.card:hover .team-avatar{background:linear-gradient(135deg,var(--color-primary-200),var(--color-accent-200));color:var(--color-primary-700);transform:scale(1.05)}.max-w-3xl{max-width:48rem}.mx-auto{margin-left:auto;margin-right:auto}@media (max-width:768px){.hero-small{padding:var(--spacing-16) 0 var(--spacing-8)}.hero-small .section-title{font-size:var(--font-size-2xl)}.hero-small .section-subtitle{font-size:var(--font-size-base)}.team-avatar{height:64px;width:64px}}.breadcrumb{font-size:var(--font-size-sm)}.breadcrumb a{color:var(--color-text-secondary);text-decoration:none;transition:var(--transition-colors)}.breadcrumb a:hover,.hover-text-primary:hover{color:var(--color-primary)}.product-detail-container{grid-gap:var(--spacing-8);display:grid;gap:var(--spacing-8);grid-template-columns:1fr 1fr;margin-top:var(--spacing-8)}.product-gallery{display:flex;flex-direction:column;gap:var(--spacing-4)}.gallery-main{aspect-ratio:4/3;background:var(--color-secondary-50);border-radius:var(--radius-lg);overflow:hidden}.gallery-main img{height:100%;object-fit:contain;padding:var(--spacing-4);width:100%}.gallery-thumbnails{display:flex;gap:var(--spacing-3);overflow-x:auto;padding-bottom:var(--spacing-2)}.gallery-thumbnails::-webkit-scrollbar{height:6px}.gallery-thumbnails::-webkit-scrollbar-thumb{background:var(--color-secondary-300);border-radius:var(--radius-full)}.thumbnail{background:var(--color-secondary-50);border:2px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;height:80px;overflow:hidden;padding:0;transition:all var(--duration-200) var(--ease-out);width:80px}.thumbnail:hover{border-color:var(--color-secondary-400);transform:translateY(-2px)}.thumbnail.active{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.thumbnail img{height:100%;object-fit:cover;width:100%}.product-info{display:flex;flex-direction:column}.product-description-section{background:var(--color-secondary-50);border-left:4px solid var(--color-primary)}.product-description-section,.product-specs{border-radius:var(--radius-md);padding:var(--spacing-4)}.product-specs{background:var(--color-bg-secondary)}.specs-list{display:flex;flex-direction:column;gap:var(--spacing-3);list-style:none;margin:0;padding:0}.spec-item{align-items:center;background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:var(--spacing-3);transition:var(--transition-base)}.spec-item:hover{border-color:var(--color-primary-300);box-shadow:var(--shadow-sm)}.spec-label{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.spec-value{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.product-price-section{background:linear-gradient(135deg,var(--color-primary-50),var(--color-accent-50));border:1px solid var(--color-primary-200);border-radius:var(--radius-lg);margin-top:auto;padding:var(--spacing-6)}.product-price{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-4)}.product-actions{display:flex;flex-direction:column;gap:var(--spacing-3)}.badge-out-of-stock{background:var(--color-error-100);border:1px solid var(--color-error-300);border-radius:var(--radius-full);color:var(--color-error-700);display:inline-block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-4);padding:var(--spacing-2) var(--spacing-4)}@media (max-width:1024px){.product-detail-container{gap:var(--spacing-6)}}@media (max-width:768px){.product-detail-container{gap:var(--spacing-6);grid-template-columns:1fr}.product-price{font-size:var(--font-size-2xl)}.breadcrumb{font-size:var(--font-size-xs)}.gallery-main{aspect-ratio:1}}.project-detail-container{margin:0 auto;max-width:900px}.project-category-badge{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-600));border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:var(--color-text-inverse);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-2) var(--spacing-4)}.tech-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-3)}@media (max-width:768px){.project-detail-container{max-width:100%}.project-category-badge{font-size:var(--font-size-xs);padding:var(--spacing-1) var(--spacing-3)}}.blog-post{margin:0 auto;max-width:800px}.blog-post-meta{border-bottom:1px solid var(--color-border-light);padding-bottom:var(--spacing-4)}.blog-post-category{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-600));border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:var(--color-text-inverse);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-2) var(--spacing-4)}.blog-post-header h1{line-height:1.2}.blog-post-cover{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.blog-post-cover img{display:block;height:auto;object-fit:cover;width:100%}.blog-post-content{color:var(--color-text-primary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.blog-post-content h2{border-bottom:2px solid var(--color-primary-200);color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-4);margin-top:var(--spacing-10);padding-bottom:var(--spacing-3)}.blog-post-content h3{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-3);margin-top:var(--spacing-8)}.blog-post-content p{margin-bottom:var(--spacing-4)}.blog-post-content ol,.blog-post-content ul{margin-bottom:var(--spacing-4);padding-left:var(--spacing-6)}.blog-post-content li{margin-bottom:var(--spacing-2)}.blog-post-content img{box-shadow:var(--shadow-md);height:auto;max-width:100%}.blog-post-content blockquote,.blog-post-content img{border-radius:var(--radius-md);margin:var(--spacing-6) 0}.blog-post-content blockquote{background:var(--color-secondary-50);border-left:4px solid var(--color-primary);color:var(--color-text-secondary);font-style:italic;padding:var(--spacing-4) var(--spacing-6)}.blog-post-content code{background:var(--color-secondary-100);border-radius:var(--radius-sm);color:var(--color-accent-700);font-family:Monaco,Courier New,monospace;font-size:.9em;padding:var(--spacing-1) var(--spacing-2)}.blog-post-content pre{background:var(--color-secondary-900);border-radius:var(--radius-md);color:var(--color-text-inverse);margin:var(--spacing-6) 0;overflow-x:auto;padding:var(--spacing-4)}.blog-post-content pre code{background:#0000;color:var(--color-text-inverse);padding:0}.blog-post-content a{color:var(--color-primary);text-decoration:underline;transition:var(--transition-colors)}.blog-post-content a:hover{color:var(--color-primary-700)}.blog-post-tags{border-top:1px solid var(--color-border-light)}.post-tag{align-items:center;background:var(--color-secondary-100);border:1px solid var(--color-border-light);border-radius:var(--radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-2) var(--spacing-3);transition:var(--transition-base)}.post-tag:hover{background:var(--color-secondary-200);border-color:var(--color-secondary-300);transform:translateY(-1px)}.blog-post-share,.border-t{border-top:1px solid var(--color-border-light)}@media (max-width:768px){.blog-post{max-width:100%}.blog-post-header h1{font-size:var(--font-size-2xl)}.blog-post-content{font-size:var(--font-size-base)}.blog-post-content h2{font-size:var(--font-size-xl)}.blog-post-content h3{font-size:var(--font-size-lg)}.blog-post-category{font-size:var(--font-size-xs);padding:var(--spacing-1) var(--spacing-3)}}.products-controls{margin:0 auto;max-width:900px}.search-bar{align-items:stretch;display:flex;gap:var(--spacing-4)}.search-bar .form-group{align-items:stretch;display:flex;margin-bottom:0}.search-input-wrapper{align-items:stretch;display:flex;position:relative;width:100%}.search-icon{color:var(--color-text-secondary);left:var(--spacing-4);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.search-input{padding-left:calc(var(--spacing-4) + 20px + var(--spacing-3));width:100%}.category-filter-wrapper{background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--spacing-6)}.flex-1{flex:1 1}@media (max-width:768px){.search-bar{flex-direction:column;gap:var(--spacing-3)}.search-bar .btn{width:100%}.category-filter-wrapper{padding:var(--spacing-4)}}.category-filter-section{text-align:center}.category-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-3);justify-content:center}.filter-btn{background:var(--color-bg-primary);border:2px solid var(--color-border-medium);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);padding:var(--spacing-3) var(--spacing-6);transition:all var(--duration-200) var(--ease-out)}.filter-btn:hover{background:var(--color-primary-50);border-color:var(--color-primary);box-shadow:var(--shadow-sm);color:var(--color-primary);transform:translateY(-2px)}.filter-btn.active{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-600));border-color:var(--color-primary);box-shadow:var(--shadow-md);color:var(--color-text-inverse)}@media (max-width:768px){.filter-btn{font-size:var(--font-size-sm);padding:var(--spacing-2) var(--spacing-4)}}.blog-container{grid-gap:var(--spacing-8);align-items:start;display:grid;gap:var(--spacing-8);grid-template-columns:1fr 350px}.blog-main{min-width:0}@media (max-width:1024px){.blog-container{gap:var(--spacing-6);grid-template-columns:1fr 300px}}@media (max-width:768px){.blog-container{gap:var(--spacing-8);grid-template-columns:1fr}}