:root{--md-sys-color-primary: #2C2C2C;--md-sys-color-on-primary: #FFFFFF;--md-sys-color-primary-container: #E8E8E8;--md-sys-color-on-primary-container: #1A1A1A;--md-sys-color-secondary: #5A5A5A;--md-sys-color-on-secondary: #FFFFFF;--md-sys-color-secondary-container: #E0E0E0;--md-sys-color-on-secondary-container: #1F1F1F;--md-sys-color-surface: #F5F5F5;--md-sys-color-on-surface: #1C1C1C;--md-sys-color-surface-variant: #E5E5E5;--md-sys-color-on-surface-variant: #4A4A4A;--md-sys-color-outline: #757575;--md-sys-color-outline-variant: #C5C5C5;--header-offset: 72px;--mini-header-height: 44px;--space-4: 4px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--space-40: 40px;--space-48: 48px;--space-56: 56px;--space-64: 64px;--radius-sm: 16px;--radius-md: 20px;--radius-lg: 24px;--md-sys-color-neutral-10: #FAFAFA;--md-sys-color-neutral-20: #F0F0F0;--md-sys-color-neutral-90: #484848;--md-sys-color-neutral-95: #2B2B2B;--md-sys-color-neutral-99: #1C1C1C;--md-sys-color-surface-container-lowest: #FFFFFF;--md-sys-color-surface-container-low: #F8F8F8;--md-sys-color-surface-container: #F2F2F2;--md-sys-color-surface-container-high: #EEEEEE;--md-sys-color-surface-container-highest: #E8E8E8;--md-sys-typescale-display-large-size: 57px;--md-sys-typescale-display-medium-size: 45px;--md-sys-typescale-display-small-size: 36px;--md-sys-typescale-headline-large-size: 32px;--md-sys-typescale-headline-medium-size: 28px;--md-sys-typescale-headline-small-size: 24px;--md-sys-typescale-title-large-size: 22px;--md-sys-typescale-title-medium-size: 16px;--md-sys-typescale-title-small-size: 14px;--md-sys-typescale-body-large-size: 16px;--md-sys-typescale-body-medium-size: 14px;--md-sys-typescale-body-small-size: 12px;--md-sys-typescale-label-large-size: 14px;--md-sys-typescale-label-medium-size: 12px;--md-sys-typescale-label-small-size: 11px}@font-face{font-family:Roboto;src:url(/fonts/Roboto-VariableFont_wdth,wght.ttf) format("truetype-variations");font-weight:100 900;font-stretch:75% 100%;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/Roboto-Italic-VariableFont_wdth,wght.ttf) format("truetype-variations");font-weight:100 900;font-stretch:75% 100%;font-style:italic;font-display:swap}@font-face{font-family:Roboto Mono;src:url(/fonts/RobotoMono-VariableFont_wght.ttf) format("truetype-variations");font-weight:100 700;font-style:normal;font-display:swap}@font-face{font-family:Material Symbols Sharp;src:url(/fonts/MaterialSymbolsSharp-VariableFont_FILL,GRAD,opsz,wght.ttf) format("truetype-variations");font-weight:100 700;font-style:normal;font-display:swap}@font-face{font-family:w95fa;src:url(/fonts/w95fa.woff2) format("woff2"),url(/fonts/w95fa.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}.material-icon{font-family:Material Symbols Sharp;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}*{box-sizing:border-box}body{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;padding:0;background-color:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);font-size:var(--md-sys-typescale-body-large-size);line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1200px;margin:0 auto;padding:0 24px}.container-narrow{max-width:800px;margin:0 auto;padding:0 24px}main{min-height:calc(100vh - 120px)}.display-large{font-size:var(--md-sys-typescale-display-large-size);font-weight:400;line-height:1.12;letter-spacing:-.25px;font-family:Roboto Mono,monospace}.display-medium{font-size:var(--md-sys-typescale-display-medium-size);font-weight:400;line-height:1.16;letter-spacing:0;font-family:Roboto Mono,monospace}.display-small{font-size:var(--md-sys-typescale-display-small-size);font-weight:400;line-height:1.22;letter-spacing:0;font-family:Roboto Mono,monospace}.headline-large{font-size:var(--md-sys-typescale-headline-large-size);font-weight:400;line-height:1.25;letter-spacing:0}.headline-medium{font-size:var(--md-sys-typescale-headline-medium-size);font-weight:400;line-height:1.29;letter-spacing:0}.headline-small{font-size:var(--md-sys-typescale-headline-small-size);font-weight:400;line-height:1.33;letter-spacing:0}.title-large{font-size:var(--md-sys-typescale-title-large-size);font-weight:400;line-height:1.27;letter-spacing:0}.title-medium{font-size:var(--md-sys-typescale-title-medium-size);font-weight:500;line-height:1.5;letter-spacing:.15px}.title-small{font-size:var(--md-sys-typescale-title-small-size);font-weight:500;line-height:1.43;letter-spacing:.1px}.body-large{font-size:var(--md-sys-typescale-body-large-size);font-weight:400;line-height:1.5;letter-spacing:.5px}.body-medium{font-size:var(--md-sys-typescale-body-medium-size);font-weight:400;line-height:1.43;letter-spacing:.25px}.body-small{font-size:var(--md-sys-typescale-body-small-size);font-weight:400;line-height:1.33;letter-spacing:.4px}.label-large{font-size:var(--md-sys-typescale-label-large-size);font-weight:500;line-height:1.43;letter-spacing:.1px;font-family:Roboto Mono,monospace}.label-medium{font-size:var(--md-sys-typescale-label-medium-size);font-weight:500;line-height:1.33;letter-spacing:.5px;font-family:Roboto Mono,monospace}.label-small{font-size:var(--md-sys-typescale-label-small-size);font-weight:500;line-height:1.45;letter-spacing:.5px;font-family:Roboto Mono,monospace}h1{font-size:var(--md-sys-typescale-display-small-size);font-weight:400;line-height:1.22;margin:0 0 24px;color:var(--md-sys-color-on-surface)}h2{font-size:var(--md-sys-typescale-headline-large-size);font-weight:400;line-height:1.25;margin:32px 0 16px;color:var(--md-sys-color-on-surface)}h3{font-size:var(--md-sys-typescale-headline-medium-size);font-weight:400;line-height:1.29;margin:24px 0 12px;color:var(--md-sys-color-on-surface)}h4{font-size:var(--md-sys-typescale-headline-small-size);font-weight:400;line-height:1.33;margin:20px 0 8px;color:var(--md-sys-color-on-surface)}h5{font-size:var(--md-sys-typescale-title-large-size);font-weight:400;line-height:1.27;margin:16px 0 8px;color:var(--md-sys-color-on-surface)}h6{font-size:var(--md-sys-typescale-title-medium-size);font-weight:500;line-height:1.5;margin:16px 0 8px;color:var(--md-sys-color-on-surface)}p{font-size:var(--md-sys-typescale-body-large-size);font-weight:400;line-height:1.5;margin:0 0 16px;color:var(--md-sys-color-on-surface)}a{color:var(--md-sys-color-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--md-sys-color-on-primary-container);text-decoration:underline}a.btn,a.btn:hover,a.btn:focus{text-decoration:none}.breadcrumb-link,.breadcrumb-link:hover{text-decoration:none}.material-icon,a:hover .material-icon{text-decoration:none!important}a:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.btn:focus,.nav-btn:focus,.contact-btn:focus,button:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:4px;border-radius:20px}strong,b{font-weight:500}.prose p{margin-bottom:24px}.material-icon{font-family:Material Symbols Sharp;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}:root{--spring-snappy: .35s linear(0, .3772, .8604, 1.0738, 1.0846, 1.0353, 1.0006, .991, .9941, .9985, 1.0006, 1);--spring-smooth: .5s linear(0, .1144, .3475, .5885, .7844, .9194, .9987, 1.0359, 1.046, 1.0413, 1.0308, 1.0196, 1.0104, 1.004, 1.0002, .9984, 1);--spring-bouncy: .55s linear(0, .1654, .4677, .7368, .9162, 1.0096, 1.043, 1.0437, .0315, 1.0177, 1.0074, 1.0012, .9985, 1, .9982, .9989, .9995, 1);--bounce-playful: .8s linear(0, .0012, .0048, .0109, .0194, .0303, .0436, .0594, .0776, .0982, .1212, .1466, .1745, .2048, .2375, .2726, .3102, .3502, .3926, .4374, .4847, .5344, .5865, .641, .698, .7573, .8191, .8834, .95, .9906, .9577, .9271, .8991, .8734, .8501, .8293, .8109, .795, .7814, .7703, .7616, .7553, .7514, .75, .751, .7544, .7603, .7685, .7792, .7923, .8078, .8258, .8462, .869, .8942, .9219, .9519, .9844, .9909, .976, .9635, .9535, .9459, .9407, .938, .9377, .9398, .9443, .9512, .9606, .9724, .9866, .9985, .9914, .9868, .9846, .9848, .9874, .9925, 1);--duration-fast: .2s;--duration-normal: .3s;--duration-slow: .5s;--duration-slower: .8s;--stagger-1: 50ms;--stagger-2: .1s;--stagger-3: .15s;--elevation-1: 0 2px 4px rgba(0, 0, 0, .08);--elevation-2: 0 4px 8px rgba(0, 0, 0, .12);--elevation-3: 0 8px 16px rgba(0, 0, 0, .16);--elevation-4: 0 12px 24px rgba(0, 0, 0, .2);--elevation-5: 0 16px 32px rgba(0, 0, 0, .24)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 24px;border:none;border-radius:var(--radius-md);font-family:inherit;font-size:var(--md-sys-typescale-label-large-size);font-weight:500;line-height:1.43;letter-spacing:.1px;cursor:pointer;transition:background-color var(--duration-normal) ease;text-decoration:none;position:relative;overflow:hidden}.btn-filled{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.btn-filled:hover{background-color:color-mix(in srgb,var(--md-sys-color-primary) 92%,var(--md-sys-color-on-primary));color:var(--md-sys-color-on-primary);text-decoration:none}.btn-filled:active{transition:transform var(--duration-fast) ease}.btn-outlined{background-color:transparent;color:var(--md-sys-color-primary);border:1px solid var(--md-sys-color-outline)}.btn-outlined:hover{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-color:var(--md-sys-color-primary);text-decoration:none}.btn-text{background-color:transparent;color:var(--md-sys-color-primary);padding:10px 12px}.btn-text:hover{background-color:color-mix(in srgb,var(--md-sys-color-primary) 8%,transparent)}.card{background-color:var(--md-sys-color-surface-container-low);border-radius:var(--radius-sm);border:1px solid var(--md-sys-color-outline-variant);overflow:hidden;transition:background-color var(--duration-normal) ease,border-color var(--duration-normal) ease}.card:hover{background-color:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-primary)}.card:active{transition:transform var(--duration-fast) ease}.card-elevated{background-color:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant)}.card-elevated:hover{background-color:var(--md-sys-color-surface-container-high);border-color:var(--md-sys-color-primary)}.card-content{padding:24px}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:16px}.gap-6{gap:24px}.gap-8{gap:32px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.mt-12{margin-top:48px}.mt-16{margin-top:64px}.mt-24{margin-top:96px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mb-12{margin-bottom:48px}.mb-16{margin-bottom:64px}.mb-24{margin-bottom:96px}.py-4{padding-top:16px;padding-bottom:16px}.py-6{padding-top:24px;padding-bottom:24px}.py-8{padding-top:32px;padding-bottom:32px}.py-12{padding-top:48px;padding-bottom:48px}.py-16{padding-top:64px;padding-bottom:64px}.py-24{padding-top:96px;padding-bottom:96px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--md-sys-color-primary)}.text-secondary{color:var(--md-sys-color-on-surface-variant)}.text-muted{color:var(--md-sys-color-outline)}.text-wrap{word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;max-width:100%}h1,h2,h3,h4,h5,h6,p,div,span{word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.container,.content,.prose{max-width:100%;overflow-x:hidden}pre,code{max-width:100%;overflow-x:auto;word-wrap:break-word;overflow-wrap:break-word}@media (max-width: 768px){.container,.featured-work .container,.experience .container,.hero .container,.container-narrow{padding:0 20px}.grid-2,.grid-3{grid-template-columns:1fr}h1{font-size:var(--md-sys-typescale-display-small-size)}.display-large{font-size:var(--md-sys-typescale-display-medium-size);line-height:1.1}.display-medium{font-size:var(--md-sys-typescale-display-small-size)}.headline-large{font-size:2rem;line-height:1.2}.headline-medium{font-size:1.5rem;line-height:1.3}.btn{min-height:44px;padding:12px 20px}section{padding:48px 0}.card{transition:background-color .2s ease,border-color .2s ease}}@media (max-width: 480px){.container,.featured-work .container,.experience .container,.hero .container,.container-narrow{padding:0 16px}.display-large{font-size:2rem;line-height:1.1}.headline-large{font-size:1.75rem}.headline-medium{font-size:1.25rem}section{padding:32px 0}.btn{min-height:40px;padding:10px 16px;font-size:14px}}button,.btn,a,input[type=button],input[type=submit],input[type=reset]{outline:none!important;-webkit-tap-highlight-color:transparent}button:focus,.btn:focus,a:focus,input[type=button]:focus,input[type=submit]:focus,input[type=reset]:focus{outline:none!important;box-shadow:none!important}textarea,input[type=text],input[type=email],input[type=password]{width:100%;padding:16px;border:1px solid var(--md-sys-color-outline);border-radius:4px;font-family:inherit;font-size:var(--md-sys-typescale-body-large-size);background-color:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);transition:border-color .2s ease}textarea:focus,input[type=text]:focus,input[type=email]:focus,input[type=password]:focus{outline:none;border-color:var(--md-sys-color-primary);border-width:2px}table{width:100%}img{max-width:100%;height:auto;border-radius:8px}code{padding:2px 5px;background-color:rgb(var(--gray-light));border-radius:2px}pre{padding:1.5em;border-radius:8px}pre>code{all:unset}blockquote{border-left:4px solid var(--accent);padding:0 0 0 20px;margin:0;font-size:1.333em}hr{border:none;border-top:1px solid rgb(var(--gray-light))}@media (max-width: 720px){body{font-size:18px}main{padding:0}.content-section:not(.has-background){padding:0 1em}.content-section:not(.has-background) .container{padding:0}}.sr-only{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in{animation:fadeIn var(--duration-slow) var(--spring-smooth) both}.animate-slide-in-left{animation:slideInLeft var(--duration-slow) var(--spring-smooth) both}.animate-slide-in-right{animation:slideInRight var(--duration-slow) var(--spring-smooth) both}.animate-scale-in{animation:scaleIn var(--duration-normal) var(--spring-bouncy) both}.animate-float{animation:float 3s ease-in-out infinite}.animate-stagger-1{animation-delay:var(--stagger-1)}.animate-stagger-2{animation-delay:var(--stagger-2)}.animate-stagger-3{animation-delay:var(--stagger-3)}.animate-stagger-4{animation-delay:calc(var(--stagger-3) + var(--stagger-1))}.animate-stagger-5{animation-delay:calc(var(--stagger-3) + var(--stagger-2))}.prose>*{animation:fadeIn var(--duration-slow) var(--spring-smooth) both}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--duration-normal);animation-timing-function:var(--spring-smooth)}::view-transition-old(root){animation-name:slide-out}::view-transition-new(root){animation-name:slide-in}@keyframes slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-20px)}}@keyframes slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.nav-link{view-transition-name:nav-link;pointer-events:auto}::view-transition-old(nav-link),::view-transition-new(nav-link){animation-duration:var(--duration-fast);animation-timing-function:var(--spring-snappy);pointer-events:auto}.nav-btn,.brand-link,.contact-btn{pointer-events:auto!important}::view-transition-group(nav-link){pointer-events:auto}.header{view-transition-name:header;pointer-events:auto}::view-transition-old(header),::view-transition-new(header){animation:none;pointer-events:auto}::view-transition-group(header){pointer-events:auto}.header *{pointer-events:auto}.footer{view-transition-name:footer}::view-transition-old(footer),::view-transition-new(footer){animation:none}.case-study-card{view-transition-name:var(--transition-name, none)}::view-transition-old(case-study),::view-transition-new(case-study){animation-duration:.5s;animation-timing-function:linear(0,.1144,.3475,.5885,.7844,.9194,.9987,1.0359,1.046,1.0413,1.0308,1.0196,1.0104,1.004,1.0002,.9984,1)}@media (prefers-reduced-motion: reduce){::view-transition-old(root),::view-transition-new(root){animation-duration:.2s;animation-timing-function:ease}@keyframes slide-out{0%{opacity:1}to{opacity:0}}@keyframes slide-in{0%{opacity:0}to{opacity:1}}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.header[data-astro-cid-3ef6ksr2]{position:fixed;top:0;left:0;right:0;z-index:100;background:color-mix(in srgb,var(--md-sys-color-surface) 90%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--md-sys-color-outline-variant);pointer-events:none}.nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:1200px;margin:0 auto;pointer-events:auto}.brand-link[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;padding:8px 16px;border-radius:20px;text-decoration:none;color:var(--md-sys-color-on-surface);transition:all .2s ease;background-color:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);height:40px;box-sizing:border-box}.brand-link[data-astro-cid-3ef6ksr2]:hover{color:var(--md-sys-color-primary);background-color:var(--md-sys-color-primary-container);border-color:var(--md-sys-color-primary)}.header[data-astro-cid-3ef6ksr2].scrolled{background:color-mix(in srgb,var(--md-sys-color-surface) 96%,transparent)}.brand-name[data-astro-cid-3ef6ksr2]{font-family:w95fa,monospace;font-weight:400;font-size:18px;letter-spacing:.15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-links[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:16px;flex:1;justify-content:center;min-width:0}.nav-btn[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;text-decoration:none;font-weight:500;font-size:14px;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease;color:var(--md-sys-color-on-surface-variant);background-color:transparent;border:1px solid transparent}.nav-btn[data-astro-cid-3ef6ksr2]:hover{color:var(--md-sys-color-primary);background-color:var(--md-sys-color-primary-container);border-color:var(--md-sys-color-primary);text-decoration:none}.nav-btn[data-astro-cid-3ef6ksr2]:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:8px}.nav-btn[data-astro-cid-3ef6ksr2].active{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-color:var(--md-sys-color-primary);font-weight:500}.nav-btn[data-astro-cid-3ef6ksr2].active:hover{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.nav-btn[data-astro-cid-3ef6ksr2] .material-icon[data-astro-cid-3ef6ksr2]{font-family:Material Symbols Sharp;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20;font-size:18px;display:inline-block;line-height:1;vertical-align:middle}.nav-group[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:8px}.mobile-only[data-astro-cid-3ef6ksr2]{display:none}@media (max-width: 768px){.nav[data-astro-cid-3ef6ksr2]{padding:12px 16px}.brand-link[data-astro-cid-3ef6ksr2]{padding:6px 12px}.brand-name[data-astro-cid-3ef6ksr2]{font-size:16px}.contact-btn[data-astro-cid-3ef6ksr2]{padding:8px 16px;font-size:14px;min-width:90px;height:40px;white-space:nowrap}.contact-text[data-astro-cid-3ef6ksr2]{display:block}.contact-text-mobile[data-astro-cid-3ef6ksr2]{display:none}}@media (max-width: 480px){.nav[data-astro-cid-3ef6ksr2]{padding:8px 16px}.brand-link[data-astro-cid-3ef6ksr2]{padding:6px 12px}.contact-btn[data-astro-cid-3ef6ksr2]{padding:8px 12px;min-width:80px;height:36px;justify-content:center;font-size:13px;white-space:nowrap}.contact-text[data-astro-cid-3ef6ksr2]{display:block}.contact-text-mobile[data-astro-cid-3ef6ksr2]{display:none}}.contact-btn[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;padding:8px 16px;border-radius:20px;background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);text-decoration:none;font-weight:500;font-size:14px;transition:all .2s ease;border:1px solid var(--md-sys-color-primary);cursor:pointer;min-width:fit-content;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);height:40px;box-sizing:border-box}.contact-text-mobile[data-astro-cid-3ef6ksr2]{display:none}.contact-btn[data-astro-cid-3ef6ksr2]:hover{background-color:color-mix(in srgb,var(--md-sys-color-primary) 92%,var(--md-sys-color-on-primary));transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--md-sys-color-primary) 30%,transparent)}.social-link[data-astro-cid-3ef6ksr2] .material-icon[data-astro-cid-3ef6ksr2]{font-size:20px}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}.footer[data-astro-cid-sz7xmlte]{background:linear-gradient(135deg,var(--md-sys-color-surface-container-low) 0%,var(--md-sys-color-surface-container) 100%);border-top:1px solid var(--md-sys-color-outline-variant);padding:80px 0 32px;margin-top:120px;position:relative;overflow:hidden}.footer[data-astro-cid-sz7xmlte] .container[data-astro-cid-sz7xmlte]{max-width:1200px;margin:0 auto;padding:0 24px}.footer[data-astro-cid-sz7xmlte]:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,var(--md-sys-color-primary-container) 0%,transparent 50%),radial-gradient(circle at 80% 20%,var(--md-sys-color-tertiary-container) 0%,transparent 50%);opacity:.1;z-index:0}.footer-content[data-astro-cid-sz7xmlte]{position:relative;z-index:1}.footer-main[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;margin-bottom:60px}.footer-brand[data-astro-cid-sz7xmlte] h3[data-astro-cid-sz7xmlte]{color:var(--md-sys-color-on-surface);margin-bottom:12px}.footer-tagline[data-astro-cid-sz7xmlte]{color:var(--md-sys-color-on-surface-variant);margin:0}.footer-links[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:1fr 1fr;gap:40px}.footer-section[data-astro-cid-sz7xmlte] h4[data-astro-cid-sz7xmlte]{color:var(--md-sys-color-on-surface);margin-bottom:20px}.social-links[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:16px}.social-link[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;text-decoration:none;color:var(--md-sys-color-on-surface-variant);transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease;background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant)}.social-link[data-astro-cid-sz7xmlte]:hover{color:var(--md-sys-color-primary);background:var(--md-sys-color-primary-container);border-color:var(--md-sys-color-primary)}.social-link[data-astro-cid-sz7xmlte] svg[data-astro-cid-sz7xmlte]{width:20px;height:20px;flex-shrink:0}.social-link[data-astro-cid-sz7xmlte] span[data-astro-cid-sz7xmlte]{font-size:14px;font-weight:500}.footer-nav[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:12px}.footer-nav-link[data-astro-cid-sz7xmlte]{color:var(--md-sys-color-on-surface-variant);text-decoration:none;padding:8px 0;transition:color .2s ease;font-size:14px}.footer-nav-link[data-astro-cid-sz7xmlte]:hover{color:var(--md-sys-color-primary)}.footer-bottom[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;align-items:center;padding-top:40px;border-top:1px solid var(--md-sys-color-outline-variant)}.copyright[data-astro-cid-sz7xmlte],.footer-note[data-astro-cid-sz7xmlte]{color:var(--md-sys-color-on-surface-variant);margin:0}@media (max-width: 768px){.footer[data-astro-cid-sz7xmlte]{padding:60px 0 30px}.footer-main[data-astro-cid-sz7xmlte]{grid-template-columns:1fr;gap:40px;margin-bottom:40px}.footer-links[data-astro-cid-sz7xmlte]{grid-template-columns:1fr;gap:30px}.footer-bottom[data-astro-cid-sz7xmlte]{flex-direction:column;gap:12px;text-align:center;padding-top:30px}}@media (max-width: 480px){.footer[data-astro-cid-sz7xmlte]{padding:40px 0 20px}.social-link[data-astro-cid-sz7xmlte]{padding:10px 12px}.social-link[data-astro-cid-sz7xmlte] span[data-astro-cid-sz7xmlte]{font-size:13px}}
