@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&display=swap";:root{--black:#000;--gray-900:#111;--gray-800:#1a1a1a;--gray-700:#333;--gray-600:#4a4a4a;--gray-500:#666;--gray-400:#888;--gray-300:#aaa;--gray-200:#ccc;--gray-100:#e8e8e8;--gray-50:#f5f5f5;--white:#fff;--accent-primary:#000;--accent-secondary:#666;--accent-hover:#333;--text-primary:var(--black);--text-secondary:var(--gray-600);--text-muted:var(--gray-400);--text-light:var(--gray-300);--text-inverse:var(--white);--background-primary:var(--white);--background-secondary:var(--gray-50);--background-tertiary:var(--gray-100);--background-overlay:hsla(0,0%,100%,.95);--background-glass:hsla(0,0%,100%,.8);--border-primary:var(--gray-200);--border-secondary:var(--gray-100);--border-accent:var(--black);--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2.5rem;--spacing-xl:4rem;--spacing-xxl:6rem;--spacing-xxxl:8rem;--font-family-primary:"Inter",system-ui,-apple-system,sans-serif;--font-family-display:"Space Grotesk","Inter",system-ui,sans-serif;--font-family-mono:"JetBrains Mono","Fira Code",monospace;--font-size-xs:.875rem;--font-size-sm:1rem;--font-size-base:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:2.5rem;--font-size-4xl:3.5rem;--font-size-5xl:4.5rem;--font-size-6xl:6rem;--font-size-display:clamp(3rem,8vw,8rem);--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--line-height-tight:1.1;--line-height-snug:1.25;--line-height-base:1.5;--line-height-relaxed:1.75;--letter-spacing-tight:-.025em;--letter-spacing-normal:0;--letter-spacing-wide:.025em;--letter-spacing-wider:.05em;--letter-spacing-widest:.1em;--radius-none:0;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-xl:16px;--radius-full:50%;--container-xs:480px;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1200px;--container-2xl:1400px;--container-full:100%;--grid-columns:12;--grid-gap:var(--spacing-lg);--grid-gap-sm:var(--spacing-md);--grid-gap-lg:var(--spacing-xl);--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:2000;--z-popover:1060;--z-tooltip:1070;--shadow-none:none;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 6px rgba(0,0,0,.05);--shadow-lg:0 10px 15px rgba(0,0,0,.1);--shadow-xl:0 20px 25px rgba(0,0,0,.1);--shadow-2xl:0 25px 50px rgba(0,0,0,.15);--transition-all:all .3s cubic-bezier(.4,0,.2,1);--transition-fast:all .15s cubic-bezier(.4,0,.2,1);--transition-slow:all .5s cubic-bezier(.4,0,.2,1);--transition-bounce:all .3s cubic-bezier(.68,-.55,.265,1.55);--transform-scale-up:scale(1.05);--transform-scale-down:scale(.95);--transform-rotate:rotate(1deg);--transform-slide-up:translateY(-4px);--transform-slide-down:translateY(4px);--nav-height:100px;--nav-padding:var(--spacing-lg);--btn-padding-sm:var(--spacing-xs) var(--spacing-md);--btn-padding-md:var(--spacing-sm) var(--spacing-lg);--btn-padding-lg:var(--spacing-md) var(--spacing-xl);--card-padding:var(--spacing-lg);--card-radius:var(--radius-lg);--input-padding:var(--spacing-md);--input-border-width:1px;--input-focus-ring:0 0 0 3px rgba(0,0,0,.1)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--background-gradient);display:flex;flex-direction:column;min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}ol,p,ul{margin:0}ol,ul{list-style:none;padding:0}a{color:inherit}button{background:none;border:none;cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}img{display:block;height:auto;max-width:100%}table{border-collapse:collapse;border-spacing:0}:focus{outline:2px solid var(--primary-color);outline-offset:2px}body{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-normal)}.display-1{font-size:var(--font-size-display);font-weight:var(--font-weight-black)}.display-1,.display-2{font-family:var(--font-family-display);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);margin:0}.display-2{font-size:var(--font-size-6xl)}.display-2,.display-3{font-weight:var(--font-weight-bold)}.display-3{font-family:var(--font-family-display);font-size:var(--font-size-5xl);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-snug);margin:0}.h1,h1{font-family:var(--font-family-primary);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);margin:0 0 var(--spacing-lg) 0}.h2,h2{font-size:var(--font-size-3xl);letter-spacing:var(--letter-spacing-normal);margin:0 0 var(--spacing-md) 0}.h2,.h3,h2,h3{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}.h3,h3{font-size:var(--font-size-2xl);margin:0 0 var(--spacing-sm) 0}.h4,h4{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-sm) 0}.h4,.h5,h4,h5{font-family:var(--font-family-primary);line-height:var(--line-height-base)}.h5,h5{font-size:var(--font-size-lg)}.h5,.h6,h5,h6{font-weight:var(--font-weight-medium);margin:0 0 var(--spacing-xs) 0}.h6,h6{font-family:var(--font-family-primary);font-size:var(--font-size-base);letter-spacing:var(--letter-spacing-wide);line-height:var(--line-height-base);text-transform:uppercase}.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)}.font-black{font-weight:var(--font-weight-black)}.leading-tight{line-height:var(--line-height-tight)}.leading-snug{line-height:var(--line-height-snug)}.leading-normal{line-height:var(--line-height-base)}.leading-relaxed{line-height:var(--line-height-relaxed)}.tracking-tight{letter-spacing:var(--letter-spacing-tight)}.tracking-normal{letter-spacing:var(--letter-spacing-normal)}.tracking-wide{letter-spacing:var(--letter-spacing-wide)}.tracking-wider{letter-spacing:var(--letter-spacing-wider)}.tracking-widest{letter-spacing:var(--letter-spacing-widest)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-light{color:var(--text-light)}.text-inverse{color:var(--text-inverse)}.text-white{color:#fff}.text-white-overlay{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3)}.font-mono,code,pre{font-family:var(--font-family-mono);font-feature-settings:"liga" 1,"calt" 1}code{border-radius:var(--radius-sm);font-size:.9em;padding:.125em .25em}code,pre{background:var(--background-secondary)}pre{border-radius:var(--radius-md);line-height:var(--line-height-relaxed);overflow-x:auto;padding:var(--spacing-md)}a{color:var(--text-primary);position:relative;text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--text-secondary)}.link-underline{position:relative}.link-underline:after{background:currentColor;bottom:-2px;content:"";height:1px;left:0;position:absolute;transition:var(--transition-fast);width:0}.link-underline:hover:after{width:100%}blockquote{border-left:2px solid var(--border-primary);color:var(--text-secondary);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);line-height:var(--line-height-relaxed);margin:var(--spacing-lg) 0;padding-left:var(--spacing-lg)}.text-gradient{background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-outline{-webkit-text-stroke:1px var(--text-primary);-webkit-text-fill-color:transparent}.text-shadow{text-shadow:2px 2px 4px rgba(0,0,0,.1)}@media (max-width:768px){.display-1{font-size:var(--font-size-4xl)}.display-2{font-size:var(--font-size-3xl)}.display-3{font-size:var(--font-size-2xl);line-height:var(--line-height-base)}#about .display-3{font-size:var(--font-size-xl);line-height:var(--line-height-snug);margin-bottom:var(--spacing-md)}.h1,h1{font-size:var(--font-size-2xl)}.h2,h2{font-size:var(--font-size-xl)}}@media (max-width:480px){.display-1{font-size:var(--font-size-3xl)}.display-2{font-size:var(--font-size-2xl)}.display-3{font-size:var(--font-size-xl)}#about .display-3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}.text-lg{font-size:var(--font-size-base)!important}}.container{max-width:var(--container-xl)}.container,.container-narrow{margin:0 auto;padding:0 var(--spacing-lg)}.container-narrow{max-width:var(--container-md)}.container-wide{margin:0 auto;max-width:var(--container-2xl);padding:0 var(--spacing-lg)}.container-fluid{padding:0 var(--spacing-lg);width:100%}.container-offset-left{margin-left:0;margin-right:auto;max-width:var(--container-xl);padding-left:var(--spacing-xl);padding-right:var(--spacing-lg)}.container-offset-right{margin-left:auto;margin-right:0;max-width:var(--container-xl);padding-left:var(--spacing-lg);padding-right:var(--spacing-xl)}.section{padding:var(--spacing-xxl) 0}.section-sm{padding:var(--spacing-xl) 0}.section-lg{padding:var(--spacing-xxxl) 0}.hero-section{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{display:grid;gap:var(--grid-gap)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-4,.grid-small{display:grid;gap:var(--grid-gap)}.grid-small{grid-template-columns:repeat(1,1fr)}.grid-medium{display:grid;gap:var(--grid-gap);grid-template-columns:repeat(2,1fr)}.grid-asymmetric{grid-template-columns:2fr 1fr}.grid-asymmetric,.grid-asymmetric-reverse{align-items:start;display:grid;gap:var(--grid-gap)}.grid-asymmetric-reverse{grid-template-columns:1fr 2fr}.grid-golden{display:grid;gap:var(--grid-gap);grid-template-columns:1.618fr 1fr}.grid-broken{display:grid;gap:var(--grid-gap-sm);grid-template-columns:repeat(12,1fr)}.grid-broken>:nth-child(odd){grid-column:span 7;transform:translate(10%)}.grid-broken>:nth-child(2n){grid-column:span 5;transform:translate(-5%)}.grid-masonry{align-items:stretch;display:grid;gap:var(--grid-gap);grid-template-columns:repeat(3,1fr)}.grid-masonry>*{display:flex;flex-direction:column}.flex{display:flex}.inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.grow{flex-grow:1}.grow-0{flex-grow:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{bottom:0;top:0}.inset-0,.inset-x-0{left:0;right:0}.inset-y-0{bottom:0;top:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.float-left{float:left}.float-right{float:right}.float-none{float:none}.floating-element{position:absolute;right:2rem;top:50%;transform:translateY(-50%);transition:var(--transition-all);z-index:var(--z-fixed)}.floating-element:hover{transform:var(--transform-slide-up)}.m-0{margin:0}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.m-2xl{margin:var(--spacing-xxl)}.m-3xl{margin:var(--spacing-xxxl)}.mx-0{margin-left:0;margin-right:0}.mx-xs{margin-left:var(--spacing-xs);margin-right:var(--spacing-xs)}.mx-sm{margin-left:var(--spacing-sm);margin-right:var(--spacing-sm)}.mx-md{margin-left:var(--spacing-md);margin-right:var(--spacing-md)}.mx-lg{margin-left:var(--spacing-lg);margin-right:var(--spacing-lg)}.mx-xl{margin-left:var(--spacing-xl);margin-right:var(--spacing-xl)}.my-0{margin-bottom:0;margin-top:0}.my-xs{margin-bottom:var(--spacing-xs);margin-top:var(--spacing-xs)}.my-sm{margin-bottom:var(--spacing-sm);margin-top:var(--spacing-sm)}.my-md{margin-bottom:var(--spacing-md);margin-top:var(--spacing-md)}.my-lg{margin-bottom:var(--spacing-lg);margin-top:var(--spacing-lg)}.my-xl{margin-bottom:var(--spacing-xl);margin-top:var(--spacing-xl)}.mt-0{margin-top:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mt-2xl{margin-top:var(--spacing-xxl)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.p-2xl{padding:var(--spacing-xxl)}.px-0{padding-left:0;padding-right:0}.px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.px-xl{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.px-2xl{padding-left:var(--spacing-xxl);padding-right:var(--spacing-xxl)}.px-3xl{padding-left:var(--spacing-xxxl);padding-right:var(--spacing-xxxl)}.py-0{padding-bottom:0;padding-top:0}.py-xs{padding-bottom:var(--spacing-xs);padding-top:var(--spacing-xs)}.py-sm{padding-bottom:var(--spacing-sm);padding-top:var(--spacing-sm)}.py-md{padding-bottom:var(--spacing-md);padding-top:var(--spacing-md)}.py-lg{padding-bottom:var(--spacing-lg);padding-top:var(--spacing-lg)}.py-xl{padding-bottom:var(--spacing-xl);padding-top:var(--spacing-xl)}.py-2xl{padding-bottom:var(--spacing-xxl);padding-top:var(--spacing-xxl)}.py-3xl{padding-bottom:var(--spacing-xxxl);padding-top:var(--spacing-xxxl)}.interactive{cursor:pointer;transition:var(--transition-all)}.interactive:hover{transform:var(--transform-scale-up)}.interactive:active{transform:var(--transform-scale-down)}.hover-lift:hover{box-shadow:var(--shadow-lg);transform:var(--transform-slide-up)}.hover-rotate:hover{transform:var(--transform-rotate)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-auto{overflow:auto}.bg-primary{background-color:var(--background-primary)}.bg-secondary{background-color:var(--background-secondary)}.bg-tertiary{background-color:var(--background-tertiary)}.bg-white{background-color:var(--white)}.bg-black{background-color:var(--black)}.border{border:1px solid var(--border-primary)}.border-t{border-top:1px solid var(--border-primary)}.border-r{border-right:1px solid var(--border-primary)}.border-b{border-bottom:1px solid var(--border-primary)}.border-l{border-left:1px solid var(--border-primary)}.rounded-none{border-radius:var(--radius-none)}.rounded-sm{border-radius:var(--radius-sm)}.rounded{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:var(--shadow-none)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-2xl{box-shadow:var(--shadow-2xl)}@media (max-width:768px){.grid-asymmetric,.grid-asymmetric-reverse,.grid-golden{grid-template-columns:1fr}.grid-broken>*{grid-column:span 12;transform:none}.grid-masonry{-moz-columns:unset;columns:unset;display:grid!important;gap:var(--spacing-lg);grid-template-columns:1fr!important}.container-offset-left,.container-offset-right{margin:0 auto;padding:0 var(--spacing-lg)}}.btn{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--spacing-xs);justify-content:center;line-height:1;outline:none;overflow:hidden;padding:var(--btn-padding-md);position:relative;text-decoration:none;transition:var(--transition-all);-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.btn-primary{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-inverse)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:var(--transform-slide-up)}.btn-primary:active{transform:var(--transform-scale-down)}.btn-secondary{background:transparent;border-color:var(--border-primary);color:var(--text-primary)}.btn-secondary:hover{background:var(--background-secondary);border-color:var(--accent-primary);transform:var(--transform-slide-up)}.btn-secondary:active{transform:var(--transform-scale-down)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-primary)}.btn-ghost:hover{background:var(--background-secondary);color:var(--text-primary)}.btn-text{background:transparent;border:none;color:var(--text-primary);padding:var(--spacing-xs) var(--spacing-sm);position:relative}.btn-text:after{background:currentColor;bottom:2px;content:"";height:1px;left:50%;position:absolute;transform:translate(-50%);transition:var(--transition-fast);width:0}.btn-text:hover:after{width:80%}.btn-sm{font-size:var(--font-size-sm);padding:var(--btn-padding-sm)}.btn-lg{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);padding:var(--btn-padding-lg)}.btn-group{align-items:center;display:inline-flex;gap:1px}.btn-group .btn{border-radius:0;border-right-width:0}.btn-group .btn:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.btn-group .btn:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0;border-right-width:1px}.btn-group .btn:only-child{border-radius:var(--radius-md);border-right-width:1px}.btn-ripple{overflow:hidden;position:relative}.btn-ripple:before{background:rgba(255,255,255,.2);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .3s,height .3s;width:0}.btn-ripple:active:before{height:300px;width:300px}.btn-magnetic{transition:var(--transition-fast)}.btn-magnetic:hover{box-shadow:var(--shadow-lg);transform:var(--transform-scale-up) var(--transform-slide-up)}.btn-split{overflow:hidden;position:relative}.btn-split:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;transition:var(--transition-slow);width:100%}.btn-split:hover:before{left:100%}.btn-icon{border-radius:var(--radius-full);height:44px;padding:0;width:44px}.btn-icon-sm{height:36px;width:36px}.btn-icon-lg{height:52px;width:52px}.btn-fab{background:var(--accent-primary);border:none;border-radius:var(--radius-full);bottom:var(--spacing-xl);box-shadow:var(--shadow-lg);color:var(--text-inverse);height:60px;position:fixed;right:var(--spacing-xl);transition:var(--transition-all);width:60px;z-index:var(--z-fixed)}.btn-fab:hover{box-shadow:var(--shadow-2xl);transform:var(--transform-scale-up)}@media (max-width:768px){.btn{font-size:var(--font-size-lg);padding:var(--btn-padding-lg)}.btn-sm{font-size:var(--font-size-base);padding:var(--btn-padding-md)}.btn-group{flex-direction:column;width:100%}.btn-group .btn{border-bottom-width:0;border-radius:0;border-right-width:1px;width:100%}.btn-group .btn:first-child{border-radius:var(--radius-md) var(--radius-md) 0 0}.btn-group .btn:last-child{border-bottom-width:1px;border-radius:0 0 var(--radius-md) var(--radius-md)}}.card{background:var(--background-primary);border:1px solid var(--border-primary);border-radius:var(--card-radius);display:flex;flex-direction:column;height:100%;overflow:hidden;padding:var(--card-padding);position:relative;transition:var(--transition-all)}.card .text-secondary{flex-grow:1}.card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg);transform:var(--transform-slide-up)}.card-minimal{background:transparent;border:none;box-shadow:none;padding:var(--spacing-lg)}.card-minimal:hover{background:var(--background-secondary)}.card-outlined{background:transparent;border:2px solid var(--border-primary)}.card-outlined:hover{background:var(--background-primary);border-color:var(--accent-primary)}.card-elevated{border:none;box-shadow:var(--shadow-md)}.card-elevated:hover{box-shadow:var(--shadow-xl);transform:var(--transform-slide-up)}.card-ghost{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--background-glass);border:1px solid var(--border-secondary)}.card-service{padding:var(--spacing-xl) var(--spacing-md)}.card-sm{padding:var(--spacing-md)}.card-lg{padding:var(--spacing-xxl)}.card-header{border-bottom:1px solid var(--border-primary);margin:calc(var(--card-padding)*-1) calc(var(--card-padding)*-1) var(--spacing-lg) calc(var(--card-padding)*-1)}.card-footer,.card-header{background:var(--background-secondary);padding:var(--spacing-lg) var(--card-padding)}.card-footer{border-top:1px solid var(--border-primary);margin:var(--spacing-lg) calc(var(--card-padding)*-1) calc(var(--card-padding)*-1) calc(var(--card-padding)*-1)}.card-body{padding:0}.card-title{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-sm) 0}.card-subtitle{margin:0 0 var(--spacing-md) 0}.card-service-subtitle,.card-subtitle{color:var(--text-secondary);font-size:var(--font-size-base)}.card-service-subtitle{margin:0 0 var(--spacing-lg) 0}.card-text{color:var(--text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md)}.card-text:last-child{margin-bottom:0}.card-horizontal{align-items:center;display:flex;gap:var(--spacing-lg)}.card-horizontal .card-content{flex:1}.cards-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.cards-grid-sm{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.cards-grid-lg{gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.cards-masonry{-moz-columns:3;column-count:3;-moz-column-fill:balance;column-fill:balance;-moz-column-gap:var(--spacing-lg);column-gap:var(--spacing-lg)}.cards-masonry .card{-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:var(--spacing-lg)}.card-interactive{cursor:pointer;transition:var(--transition-all)}.card-interactive:hover{transform:var(--transform-scale-up)}.card-interactive:active{transform:var(--transform-scale-down)}.card-clickable{cursor:pointer;position:relative}.card-clickable:before{background:transparent;content:"";top:0;right:0;bottom:0;left:0;position:absolute;transition:var(--transition-fast)}.card-clickable:hover:before{background:rgba(0,0,0,.02)}.card-tilted{transform:rotate(-1deg);transition:var(--transition-all)}.card-tilted:hover{transform:rotate(0) var(--transform-slide-up)}.card-floating{animation:float 3s ease-in-out infinite;position:relative}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.card-flip{height:300px;perspective:1000px}.card-flip-inner{height:100%;position:relative;text-align:center;transform-style:preserve-3d;transition:transform .6s;width:100%}.card-flip:hover .card-flip-inner{transform:rotateY(180deg)}.card-flip-back,.card-flip-front{align-items:center;backface-visibility:hidden;border-radius:var(--card-radius);display:flex;height:100%;justify-content:center;position:absolute;width:100%}.card-flip-back{background:var(--accent-primary);color:var(--text-inverse);transform:rotateY(180deg)}.card-image{border-radius:var(--radius-md);height:200px;margin-bottom:var(--spacing-md);-o-object-fit:cover;object-fit:cover;width:100%}.card-image-top{border-radius:var(--card-radius) var(--card-radius) 0 0;margin:calc(var(--card-padding)*-1) calc(var(--card-padding)*-1) var(--spacing-lg) calc(var(--card-padding)*-1)}.card-avatar{border-radius:var(--radius-full);height:60px;margin-bottom:var(--spacing-md);-o-object-fit:cover;object-fit:cover;width:60px}@media (max-width:768px){.card{padding:var(--spacing-lg)}.card-horizontal{flex-direction:column;text-align:center}.cards-grid{grid-template-columns:1fr}.cards-masonry,.grid-masonry{-moz-columns:unset;columns:unset;display:grid!important;gap:var(--spacing-lg);grid-template-columns:1fr!important}.card-service{margin-bottom:0;padding:var(--spacing-lg)}.card-service h4{font-size:var(--font-size-lg)!important;line-height:var(--line-height-snug);margin-bottom:var(--spacing-sm)}.card-service .text-secondary{font-size:var(--font-size-sm)!important;line-height:var(--line-height-base);margin-bottom:var(--spacing-md)}.card-service .text-xs{font-size:.75rem!important;line-height:1.4;margin-bottom:var(--spacing-sm)}.card-flip{height:250px}}@media (max-width:480px){.card-service{padding:var(--spacing-md)}.card-service h4{font-size:var(--font-size-base)!important;margin-bottom:var(--spacing-xs)}.card-service .text-secondary{font-size:var(--font-size-xs)!important;margin-bottom:var(--spacing-sm)}.cards-masonry,.grid-masonry{gap:var(--spacing-md)!important}}.navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--background-primary);border-bottom:1px solid var(--border-primary);padding:var(--nav-padding);position:sticky;top:0;transition:var(--transition-all);width:100%;z-index:var(--z-sticky)}.navbar-transparent{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:rgba(255,255,255,.05);border-bottom:1px solid hsla(0,0%,100%,.1)}.navbar-transparent .navbar-brand{color:#fff}.navbar-transparent .nav-link{color:rgba(255,255,255,.8)}.navbar-transparent .nav-link.active,.navbar-transparent .nav-link:hover{background:rgba(255,255,255,.1);color:#fff}.navbar-transparent .navbar-toggle{color:#fff}.navbar-scrolled{background:var(--background-glass);box-shadow:var(--shadow-sm)}.navbar-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:var(--container-xl)}.navbar-brand{align-items:center;color:var(--text-primary);display:flex;font-family:var(--font-family-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);gap:var(--spacing-sm);text-decoration:none;transition:var(--transition-fast)}.navbar-brand:hover{color:var(--gray-300)}.navbar-brand img{filter:brightness(0) invert(1);height:2.5rem;transition:all .3s ease;width:auto}.navbar-scrolled .navbar-brand img{filter:brightness(0) invert(0);height:2rem}@media (max-width:768px){.navbar-brand img{height:2rem}.navbar-scrolled .navbar-brand img{height:1.75rem}}@media (max-width:480px){.navbar-brand{font-size:var(--font-size-lg)}.navbar-brand img{height:1.75rem}.navbar-scrolled .navbar-brand img{height:1.5rem}}.navbar-nav{align-items:center;display:flex;gap:var(--spacing-xl);list-style:none;margin:0;padding:0}.nav-item,.nav-link{position:relative}.nav-link{align-items:center;border-radius:var(--radius-md);color:var(--text-secondary);display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:var(--transition-all)}.nav-link:hover{background:var(--background-secondary);color:var(--text-primary)}.nav-link.active{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.nav-link:after{background:var(--accent-primary);bottom:-2px;content:"";height:2px;left:50%;position:absolute;transform:translate(-50%);transition:var(--transition-fast);width:0}.nav-link.active:after,.nav-link:hover:after{width:80%}.navbar-transparent .nav-link:after{background:#fff}.dropdown{position:relative}.dropdown-menu{background:var(--background-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);left:0;min-width:200px;opacity:0;padding:var(--spacing-sm);position:absolute;top:100%;transform:translateY(-10px);transition:var(--transition-fast);visibility:hidden;z-index:var(--z-dropdown)}.dropdown:hover .dropdown-menu{opacity:1;transform:translateY(0);visibility:visible}.dropdown-item{border-radius:var(--radius-md);color:var(--text-secondary);display:block;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:var(--transition-fast)}.dropdown-item:hover{background:var(--background-secondary);color:var(--text-primary)}.dropdown-divider{background:var(--border-primary);height:1px;margin:var(--spacing-sm) 0}.navbar-toggle{background:none;border:none;color:var(--text-primary);cursor:pointer;display:none;font-size:var(--font-size-xl);padding:var(--spacing-sm);transition:var(--transition-fast)}.navbar-collapse{align-items:center;display:flex;gap:var(--spacing-xl)}@media (max-width:768px){.navbar-toggle{display:block;position:relative;z-index:10005;-webkit-tap-highlight-color:rgba(0,0,0,.1);cursor:pointer;touch-action:manipulation;-moz-user-select:none;user-select:none;-webkit-user-select:none}.navbar.mobile-menu-active{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;background:var(--background-primary)!important;border-bottom:1px solid var(--border-primary)!important;display:block!important;left:0!important;opacity:1!important;position:fixed!important;right:0!important;top:0!important;visibility:visible!important;width:100%!important;z-index:10003!important}.navbar.mobile-menu-active .navbar-container{position:relative!important;z-index:10004!important}.navbar.mobile-menu-active .navbar-brand{color:var(--text-primary)!important}.navbar.mobile-menu-active .navbar-toggle{color:var(--text-primary)!important;position:relative!important;z-index:10005!important}.navbar.mobile-menu-active.navbar-transparent{background:var(--background-primary)!important;border-bottom:1px solid var(--border-primary)!important}.navbar.mobile-menu-active.navbar-transparent .navbar-brand,.navbar.mobile-menu-active.navbar-transparent .navbar-toggle{color:var(--text-primary)!important}.navbar-collapse{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:rgba(0,0,0,.85)!important;bottom:0;flex-direction:column;height:100vh;height:calc(100vh + env(safe-area-inset-bottom));justify-content:center;left:0;min-height:-webkit-fill-available;opacity:0;overflow:hidden;padding:var(--spacing-xl);padding-bottom:calc(var(--spacing-xl) + env(safe-area-inset-bottom));position:fixed;right:0;top:0;transition:all .3s ease-in-out;visibility:hidden;width:100vw;z-index:10002;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:none}.navbar-collapse.active{opacity:1;visibility:visible}body.mobile-nav-active{touch-action:none!important;-moz-user-select:none!important;user-select:none!important;-webkit-user-select:none!important}body.mobile-nav-active,html.mobile-nav-active{overscroll-behavior:none!important}.navbar-nav{flex-direction:column;gap:var(--spacing-lg);max-width:280px;padding:var(--spacing-xl) 0;text-align:center;width:100%}.navbar-collapse .nav-link{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(255,255,255,.9)!important;border:1px solid hsla(0,0%,100%,.2);border-radius:var(--radius-lg);box-shadow:0 4px 16px rgba(0,0,0,.3);color:#1a1a1a!important;display:block;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);padding:var(--spacing-md) var(--spacing-lg);text-align:center;text-shadow:none!important;transition:all .3s ease;width:100%;-webkit-tap-highlight-color:rgba(0,0,0,.1);cursor:pointer;touch-action:manipulation;-moz-user-select:none;user-select:none;-webkit-user-select:none}.navbar-collapse .nav-link.active,.navbar-collapse .nav-link:hover{background:#fff!important;border-color:rgba(255,255,255,.3);box-shadow:0 6px 24px rgba(0,0,0,.4);color:#0a0a0a!important;text-shadow:none!important;transform:translateY(-2px)}.nav-link:after{display:none}.dropdown-menu{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(255,255,255,.8)!important;border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius-lg);box-shadow:0 2px 12px rgba(0,0,0,.25);margin-top:var(--spacing-sm);opacity:1;padding:var(--spacing-md);position:static;transform:none;visibility:visible;width:100%}.navbar-collapse .dropdown-item{border-radius:var(--radius-md);color:#1a1a1a!important;display:block;font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-md);text-shadow:none!important;transition:all .2s ease;width:100%}.navbar-collapse .dropdown-item:hover{background:rgba(255,255,255,.9)!important;box-shadow:0 2px 8px rgba(0,0,0,.15);color:#0a0a0a!important;text-shadow:none!important}}.breadcrumb{color:var(--text-muted);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.breadcrumb,.breadcrumb-item{align-items:center;display:flex;gap:var(--spacing-sm)}.breadcrumb-item:not(:last-child):after{color:var(--text-light);content:"/"}.breadcrumb-link{color:var(--text-secondary);text-decoration:none;transition:var(--transition-fast)}.breadcrumb-link:hover{color:var(--text-primary)}.sidebar{background:var(--background-primary);border-right:1px solid var(--border-primary);height:100vh;left:0;overflow-y:auto;padding:var(--spacing-xl);position:fixed;top:0;transition:var(--transition-all);width:280px;z-index:var(--z-fixed)}.sidebar-collapsed{width:80px}.sidebar-nav{list-style:none;margin:0;padding:0}.sidebar-item{margin-bottom:var(--spacing-sm)}.sidebar-link{align-items:center;border-radius:var(--radius-lg);color:var(--text-secondary);display:flex;gap:var(--spacing-md);padding:var(--spacing-md);text-decoration:none;transition:var(--transition-all)}.sidebar-link.active,.sidebar-link:hover{background:var(--background-secondary);color:var(--text-primary)}.sidebar-icon{font-size:var(--font-size-lg);min-width:24px}.sidebar-text{font-weight:var(--font-weight-medium)}.sidebar-collapsed .sidebar-text{display:none}.tabs{border-bottom:1px solid var(--border-primary);margin-bottom:var(--spacing-lg)}.tab-list{display:flex;gap:var(--spacing-lg);list-style:none;margin:0;padding:0}.tab-item{position:relative}.tab-link{border-bottom:2px solid transparent;color:var(--text-secondary);display:block;font-weight:var(--font-weight-medium);padding:var(--spacing-md) 0;text-decoration:none;transition:var(--transition-fast)}.tab-link.active,.tab-link:hover{border-bottom-color:var(--accent-primary);color:var(--text-primary)}.tab-content{display:none}.tab-content.active{animation:fadeIn .3s ease-in-out;display:block}footer{margin-top:auto}.footer-link{transition:var(--transition-fast)}.footer-link:hover{color:var(--text-inverse);transform:var(--transform-slide-up)}.footer-brand img{filter:brightness(0) invert(1);height:2.5rem;transition:all .3s ease;width:auto}.footer-brand{align-items:center;display:flex;gap:var(--spacing-sm)}@media (max-width:768px){footer .grid-asymmetric{gap:var(--spacing-xl);grid-template-columns:1fr;text-align:center}footer .grid,footer .grid-2{gap:var(--spacing-lg);grid-template-columns:1fr}footer .grid-2>div{text-align:center}footer .text-right{text-align:center!important}footer .section{padding:var(--spacing-xl) 0}footer .text-right ul li{margin-bottom:var(--spacing-xs)}footer .text-right ul li a{display:inline-block;line-height:1.5;min-height:44px;padding:var(--spacing-xs) var(--spacing-sm)}}@media (max-width:480px){.footer-brand img{height:2rem}.footer-brand{font-size:var(--font-size-lg);justify-content:center}footer .section{padding:var(--spacing-lg) 0}footer .grid-2{gap:var(--spacing-md)}footer .pt-xl{padding-top:var(--spacing-lg)!important}.footer-brand{flex-direction:column;gap:var(--spacing-xs)}}.form-container{width:100%}form .btn{align-items:center;box-sizing:border-box;display:inline-flex;justify-content:center;min-height:44px;min-width:140px;text-align:center;white-space:nowrap}form .btn.w-full{min-width:100%;width:100%}input[type=email],input[type=password],input[type=tel],input[type=text],input[type=url],select,textarea{background-color:var(--background-primary);border:var(--input-border-width) solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:var(--line-height-base);padding:var(--input-padding);transition:var(--transition-fast);width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent-primary);box-shadow:var(--input-focus-ring);outline:none}label{color:var(--text-secondary);display:block;font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}.contact-grid{align-items:start;display:grid;gap:var(--spacing-lg);grid-template-columns:1fr 2fr}@media (max-width:768px){.contact-grid{gap:var(--spacing-xl);grid-template-columns:1fr!important}#contact .py-2xl{padding:var(--spacing-xl) 0!important;text-align:center}#contact .text-xl{font-size:var(--font-size-base)!important;line-height:var(--line-height-relaxed)}.grid.grid-cols-1.md\\:grid-cols-2{gap:var(--spacing-md);grid-template-columns:1fr!important}input[type=email],input[type=tel],input[type=text],textarea{border-radius:var(--radius-lg);font-size:var(--font-size-base);min-height:48px;padding:var(--spacing-md) var(--spacing-lg)!important}textarea{min-height:120px;resize:vertical}label{font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}#contact .btn{align-items:center;display:flex;justify-content:center;margin-bottom:var(--spacing-md);text-align:center;white-space:nowrap;width:100%}#contact .btn,#contact .btn-primary,#contact .btn-secondary{font-size:var(--font-size-base);min-height:52px;padding:var(--spacing-lg) var(--spacing-xl)}#contact .btn-primary,#contact .btn-secondary{font-weight:var(--font-weight-medium);line-height:1.2}#contact .card{padding:var(--spacing-lg)}#contact a[href^="mailto:"]{font-size:var(--font-size-base)!important;word-break:break-all}}@media (max-width:480px){.contact-grid{gap:var(--spacing-lg)}#contact .py-2xl{padding:var(--spacing-lg) 0!important}input[type=email],input[type=tel],input[type=text],textarea{font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md)!important}#contact .card{padding:var(--spacing-md)}#contact .btn,#contact .btn-primary,#contact .btn-secondary{font-size:var(--font-size-sm);min-height:48px;padding:var(--spacing-md) var(--spacing-lg)}#contact .btn-primary,#contact .btn-secondary{font-weight:var(--font-weight-medium)}label{font-size:var(--font-size-xs)}}.abstract-bg{height:100%;left:0;overflow:hidden;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.web-container{height:100%;position:relative;width:100%}.web-node{background:rgba(0,0,0,.3);border-radius:50%;box-shadow:0 0 8px rgba(0,0,0,.7);height:40px;width:40px}.web-node,.web-strand{animation-direction:alternate;animation-iteration-count:infinite;animation-timing-function:ease-in-out;position:absolute}.web-strand{background:linear-gradient(90deg,rgba(0,0,0,.3),rgba(0,0,0,.5) 50%,rgba(0,0,0,.3));height:1px;transform-origin:left center}.web-node-1{animation:web-pulse-1 6s infinite;left:10%;top:15%}.web-node-2{animation:web-pulse-2 8s infinite;animation-delay:-1s;right:20%;top:25%}.web-node-3{animation:web-pulse-3 7s infinite;animation-delay:-2s;bottom:30%;left:25%}.web-node-4{animation:web-pulse-4 9s infinite;animation-delay:-3s;right:15%;top:60%}.web-node-5{animation:web-pulse-5 5s infinite;animation-delay:-4s;bottom:15%;right:35%}.web-node-6{animation:web-pulse-6 10s infinite;animation-delay:-2.5s;left:5%;top:40%}.web-node-7{animation:web-pulse-7 11s infinite;animation-delay:-1.8s;left:45%;top:8%}.web-node-8{animation:web-pulse-8 6.5s infinite;animation-delay:-3.2s;right:45%;top:35%}.web-node-9{animation:web-pulse-9 8.5s infinite;animation-delay:-.7s;bottom:25%;left:50%}.web-node-10{animation:web-pulse-10 9.5s infinite;animation-delay:-4.1s;left:15%;top:70%}.web-node-11{animation:web-pulse-11 7.2s infinite;animation-delay:-2.8s;bottom:8%;left:8%}.web-node-12{animation:web-pulse-12 10.5s infinite;animation-delay:-1.3s;right:8%;top:50%}.web-strand-1{animation:web-strand-glow-1 8s infinite;left:10%;top:15%;transform:rotate(25deg);width:280px}.web-strand-2{animation:web-strand-glow-2 6s infinite;animation-delay:-1s;right:20%;top:25%;transform:rotate(-45deg);width:200px}.web-strand-3{animation:web-strand-glow-3 9s infinite;animation-delay:-2s;bottom:30%;left:25%;transform:rotate(65deg);width:250px}.web-strand-4{animation:web-strand-glow-4 7s infinite;animation-delay:-1.5s;right:15%;top:60%;transform:rotate(-20deg);width:180px}.web-strand-5{animation:web-strand-glow-5 10s infinite;animation-delay:-3s;bottom:15%;right:35%;transform:rotate(40deg);width:220px}.web-strand-6{animation:web-strand-glow-6 5s infinite;animation-delay:-.5s;left:5%;top:40%;transform:rotate(-10deg);width:300px}.web-strand-7{animation:web-strand-glow-7 8s infinite;animation-delay:-4s;left:30%;top:30%;transform:rotate(80deg);width:160px}.web-strand-8{animation:web-strand-glow-8 6s infinite;animation-delay:-2.5s;bottom:40%;right:40%;transform:rotate(-60deg);width:140px}.web-strand-9{animation:web-strand-glow-9 7.5s infinite;animation-delay:-1.8s;left:45%;top:8%;transform:rotate(15deg);width:190px}.web-strand-10{animation:web-strand-glow-10 9.2s infinite;animation-delay:-3.4s;right:45%;top:35%;transform:rotate(-35deg);width:170px}.web-strand-11{animation:web-strand-glow-11 8.8s infinite;animation-delay:-.9s;bottom:25%;left:50%;transform:rotate(55deg);width:200px}.web-strand-12{animation:web-strand-glow-12 6.8s infinite;animation-delay:-4.3s;left:15%;top:70%;transform:rotate(-15deg);width:240px}.web-strand-13{animation:web-strand-glow-13 10.2s infinite;animation-delay:-2.1s;bottom:8%;left:8%;transform:rotate(30deg);width:320px}.web-strand-14{animation:web-strand-glow-14 7.8s infinite;animation-delay:-1.6s;right:8%;top:50%;transform:rotate(-70deg);width:160px}.web-strand-15{animation:web-strand-glow-15 5.5s infinite;animation-delay:-3.8s;left:35%;top:20%;transform:rotate(110deg);width:130px}.web-strand-16{animation:web-strand-glow-16 9.8s infinite;animation-delay:-.3s;bottom:35%;right:25%;transform:rotate(-25deg);width:280px}@keyframes web-pulse-1{0%,to{box-shadow:0 0 8px rgba(0,0,0,.1);opacity:.3;transform:scale(1)}50%{box-shadow:0 0 16px rgba(0,0,0,.2);opacity:.6;transform:scale(1.5)}}@keyframes web-pulse-2{0%,to{box-shadow:0 0 6px rgba(0,0,0,.1);opacity:.25;transform:scale(1)}50%{box-shadow:0 0 20px rgba(0,0,0,.15);opacity:.5;transform:scale(1.8)}}@keyframes web-pulse-3{0%,to{box-shadow:0 0 10px rgba(0,0,0,.1);opacity:.4;transform:scale(1)}50%{box-shadow:0 0 18px rgba(0,0,0,.2);opacity:.7;transform:scale(1.3)}}@keyframes web-pulse-4{0%,to{box-shadow:0 0 5px rgba(0,0,0,.1);opacity:.2;transform:scale(1)}50%{box-shadow:0 0 25px rgba(0,0,0,.2);opacity:.6;transform:scale(2)}}@keyframes web-pulse-5{0%,to{box-shadow:0 0 8px rgba(0,0,0,.1);opacity:.35;transform:scale(1)}50%{box-shadow:0 0 22px rgba(0,0,0,.25);opacity:.8;transform:scale(1.6)}}@keyframes web-pulse-6{0%,to{box-shadow:0 0 7px rgba(0,0,0,.1);opacity:.3;transform:scale(1)}50%{box-shadow:0 0 15px rgba(0,0,0,.2);opacity:.65;transform:scale(1.4)}}@keyframes web-pulse-7{0%,to{box-shadow:0 0 6px rgba(0,0,0,.12);opacity:.28;transform:scale(1)}50%{box-shadow:0 0 19px rgba(0,0,0,.18);opacity:.55;transform:scale(1.7)}}@keyframes web-pulse-8{0%,to{box-shadow:0 0 9px rgba(0,0,0,.11);opacity:.32;transform:scale(1)}50%{box-shadow:0 0 17px rgba(0,0,0,.22);opacity:.72;transform:scale(1.45)}}@keyframes web-pulse-9{0%,to{box-shadow:0 0 7px rgba(0,0,0,.09);opacity:.26;transform:scale(1)}50%{box-shadow:0 0 23px rgba(0,0,0,.19);opacity:.58;transform:scale(1.9)}}@keyframes web-pulse-10{0%,to{box-shadow:0 0 11px rgba(0,0,0,.13);opacity:.38;transform:scale(1)}50%{box-shadow:0 0 21px rgba(0,0,0,.24);opacity:.75;transform:scale(1.35)}}@keyframes web-pulse-11{0%,to{box-shadow:0 0 8px rgba(0,0,0,.1);opacity:.31;transform:scale(1)}50%{box-shadow:0 0 20px rgba(0,0,0,.21);opacity:.68;transform:scale(1.65)}}@keyframes web-pulse-12{0%,to{box-shadow:0 0 5px rgba(0,0,0,.08);opacity:.24;transform:scale(1)}50%{box-shadow:0 0 24px rgba(0,0,0,.17);opacity:.52;transform:scale(1.85)}}@keyframes web-strand-glow-1{0%,to{opacity:.1;transform:rotate(25deg) scaleX(.8)}50%{opacity:.4;transform:rotate(25deg) scaleX(1.2)}}@keyframes web-strand-glow-2{0%,to{opacity:.15;transform:rotate(-45deg) scaleX(.9)}50%{opacity:.35;transform:rotate(-45deg) scaleX(1.1)}}@keyframes web-strand-glow-3{0%,to{opacity:.2;transform:rotate(65deg) scaleX(.7)}50%{opacity:.5;transform:rotate(65deg) scaleX(1.3)}}@keyframes web-strand-glow-4{0%,to{opacity:.1;transform:rotate(-20deg) scaleX(.85)}50%{opacity:.4;transform:rotate(-20deg) scaleX(1.15)}}@keyframes web-strand-glow-5{0%,to{opacity:.25;transform:rotate(40deg) scaleX(.6)}50%{opacity:.6;transform:rotate(40deg) scaleX(1.4)}}@keyframes web-strand-glow-6{0%,to{opacity:.12;transform:rotate(-10deg) scaleX(.9)}50%{opacity:.38;transform:rotate(-10deg) scaleX(1.1)}}@keyframes web-strand-glow-7{0%,to{opacity:.18;transform:rotate(80deg) scaleX(.75)}50%{opacity:.45;transform:rotate(80deg) scaleX(1.25)}}@keyframes web-strand-glow-8{0%,to{opacity:.14;transform:rotate(-60deg) scaleX(.8)}50%{opacity:.42;transform:rotate(-60deg) scaleX(1.2)}}@keyframes web-strand-glow-9{0%,to{opacity:.16;transform:rotate(15deg) scaleX(.82)}50%{opacity:.39;transform:rotate(15deg) scaleX(1.18)}}@keyframes web-strand-glow-10{0%,to{opacity:.13;transform:rotate(-35deg) scaleX(.88)}50%{opacity:.41;transform:rotate(-35deg) scaleX(1.12)}}@keyframes web-strand-glow-11{0%,to{opacity:.19;transform:rotate(55deg) scaleX(.73)}50%{opacity:.47;transform:rotate(55deg) scaleX(1.27)}}@keyframes web-strand-glow-12{0%,to{opacity:.11;transform:rotate(-15deg) scaleX(.87)}50%{opacity:.36;transform:rotate(-15deg) scaleX(1.13)}}@keyframes web-strand-glow-13{0%,to{opacity:.22;transform:rotate(30deg) scaleX(.65)}50%{opacity:.52;transform:rotate(30deg) scaleX(1.35)}}@keyframes web-strand-glow-14{0%,to{opacity:.17;transform:rotate(-70deg) scaleX(.78)}50%{opacity:.43;transform:rotate(-70deg) scaleX(1.22)}}@keyframes web-strand-glow-15{0%,to{opacity:.21;transform:rotate(110deg) scaleX(.71)}50%{opacity:.49;transform:rotate(110deg) scaleX(1.29)}}@keyframes web-strand-glow-16{0%,to{opacity:.23;transform:rotate(-25deg) scaleX(.63)}50%{opacity:.54;transform:rotate(-25deg) scaleX(1.37)}}.hero-section .container-offset-left{position:relative;z-index:10}@media (max-width:768px){.web-strand{height:.5px}.web-node{height:3px;width:3px}.web-strand-1,.web-strand-13,.web-strand-6{width:200px}.web-strand-10,.web-strand-14,.web-strand-2,.web-strand-4{width:150px}.web-strand-11,.web-strand-12,.web-strand-16,.web-strand-3,.web-strand-5{width:180px}.web-strand-15,.web-strand-7,.web-strand-8,.web-strand-9{width:120px}}@media (prefers-reduced-motion:reduce){.web-node,.web-strand{animation:none;opacity:.1}}.video-background{left:0;opacity:1;position:fixed;top:0;transition:opacity .8s ease-in-out;z-index:-2}.video-background,.video-background video{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.video-background video{filter:saturate(1)}.video-overlay{background:rgba(0,0,0,.3);opacity:1;z-index:-1}.static-background-layer,.video-overlay{height:100%;left:0;position:fixed;top:0;transition:opacity .8s ease-in-out;width:100%}.static-background-layer{background:linear-gradient(135deg,var(--gray-900) 0,var(--gray-800) 100%);opacity:0;z-index:-3}.static-background .video-background,.static-background .video-overlay{opacity:0}.static-background .static-background-layer{opacity:1}.hero-section{background:transparent;position:relative;z-index:10}.hero-section .display-1,.hero-section .h3,.hero-section .text-secondary{color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.4);transition:all .8s ease-in-out}.static-background .hero-section .display-1,.static-background .hero-section .h3{color:var(--text-primary);text-shadow:none}.static-background .hero-section .text-secondary{color:var(--text-secondary);text-shadow:none}.hero-section .abstract-bg{opacity:0;transition:opacity .8s ease-in-out}.static-background .hero-section .abstract-bg{opacity:1}@media (max-width:1024px){.video-background video{transform:scale(1.01);will-change:transform}}@media (max-width:768px){.video-background{display:block}.video-background video{filter:saturate(.9) brightness(.95);-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;transform:translateZ(0);will-change:transform}.video-overlay{background:rgba(0,0,0,.4);display:block}.hero-section .display-1,.hero-section .h3,.hero-section .text-secondary{color:#fff!important;text-shadow:0 2px 16px rgba(0,0,0,.6)!important;-webkit-font-smoothing:antialiased}}@media (max-width:640px){.video-background video{filter:saturate(.8) brightness(.9) contrast(1.1);min-height:100%;min-width:100%}.video-overlay{background:rgba(0,0,0,.45)}}@media (max-width:480px){.video-background{overflow:hidden}.video-background video{backface-visibility:hidden;filter:saturate(.85) brightness(.9);-o-object-position:center center;object-position:center center;-webkit-transform:translateZ(0)}.video-overlay{background:rgba(0,0,0,.5)}.hero-section{min-height:100vh;padding-top:2rem}}@media (max-width:375px){.hero-section{min-height:100vh;padding-top:1.5rem}.video-overlay{background:rgba(0,0,0,.55)}}@media (max-width:768px) and (orientation:landscape){.video-background video{height:100vh;-o-object-position:center center;object-position:center center;width:100%}.hero-section{min-height:50vh}}@media (min-resolution:192dpi){.video-background video{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;transform:translateZ(0)}}@media (prefers-reduced-data:reduce){.video-background:before{background:rgba(0,0,0,.8);border-radius:4px;color:#fff;content:"";font-size:12px;padding:4px 8px;pointer-events:none;position:absolute;right:10px;top:10px;z-index:1}}@media (prefers-reduced-motion:reduce){.hero-section .abstract-bg,.static-background-layer,.video-background,.video-overlay{transition:none}.video-background video{animation-play-state:paused}}@media (hover:none) and (pointer:coarse){.video-background video{pointer-events:none;transform:translateZ(0);will-change:transform;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.video-overlay{background:rgba(0,0,0,.4)}}@media (max-width:768px) and (max-resolution:150dpi){.video-background video{filter:none;transform:none}}@media (prefers-color-scheme:dark){.video-overlay{background:rgba(0,0,0,.3)}}body{background:var(--background-primary);color:var(--text-primary);font-family:var(--font-family-primary);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}html{scroll-behavior:smooth}::selection{background:var(--accent-primary);color:var(--text-inverse)}::-moz-selection{background:var(--accent-primary);color:var(--text-inverse)}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.scale-95{transform:scale(.95)}.scale-100{transform:scale(1)}.scale-105{transform:scale(1.05)}.scale-110{transform:scale(1.1)}.rotate-1{transform:rotate(1deg)}.rotate-2{transform:rotate(2deg)}.rotate-3{transform:rotate(3deg)}.-rotate-1{transform:rotate(-1deg)}.-rotate-2{transform:rotate(-2deg)}.transition-none{transition:none}.transition-all{transition:var(--transition-all)}.transition-fast{transition:var(--transition-fast)}.transition-slow{transition:var(--transition-slow)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fadeIn{animation:fadeIn .5s ease-out}.animate-slideInUp{animation:slideInUp .5s ease-out}.animate-slideInDown{animation:slideInDown .5s ease-out}.animate-slideInLeft{animation:slideInLeft .5s ease-out}.animate-slideInRight{animation:slideInRight .5s ease-out}.animate-scaleIn{animation:scaleIn .3s ease-out}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.animate-fadeIn,.animate-scaleIn,.animate-slideInDown,.animate-slideInLeft,.animate-slideInRight,.animate-slideInUp{animation:none}}@media (prefers-contrast:high){.btn,.card{border-width:2px}}@media print{*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.btn-fab,.dropdown-menu,.navbar,.sidebar{display:none!important}.container,.container-narrow,.container-wide{max-width:none;padding:0}.card{-moz-column-break-inside:avoid;border:1px solid var(--border-primary);box-shadow:none;break-inside:avoid}.display-1,.display-2,.display-3{font-size:2rem}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}}.loading{overflow:hidden;position:relative}.loading:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}.skeleton{animation:skeleton 1.5s infinite;background:linear-gradient(90deg,var(--background-secondary) 25%,var(--background-tertiary) 50%,var(--background-secondary) 75%);background-size:200% 100%}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}
