.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}/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-400:oklch(70.4% .191 22.216);--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-3xl:2rem;--ease-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Bricolage Grotesque",system-ui,sans-serif;--font-body:"Inter",system-ui,sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--radius-full:9999px;--nav-height:3.5rem;--nav-blur:10px;--glass-bg:#ffffff0d;--glass-bg-hover:#ffffff14;--glass-border:#ffffff1a;--glass-border-hover:#ffffff26;--color-brand:#00c3c3;--color-brand-hover:#00d9d9;--color-brand-dark:#099;--color-brand-glow:#00c3c366;--color-brand-bg:#00c3c326;--color-brand-border:#00c3c340;--color-success:#22c55e;--color-bg:#0c0c0c;--color-surface:#ffffff0d;--color-text:#fff;--color-text-secondary:#a0a0a0;--color-text-muted:gray;--color-border:#ffffff14;--color-border-strong:#ffffff26;--ease-out-expo:cubic-bezier(.16,1,.3,1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--transition-colors:color var(--duration-fast)var(--ease-out),background var(--duration-fast)var(--ease-out),border-color var(--duration-fast)var(--ease-out);--transition-all:all var(--duration-normal)var(--ease-out-expo)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.z-0{z-index:0}.z-10{z-index:10}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-16{margin-top:calc(var(--spacing)*16)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.mb-14{margin-bottom:calc(var(--spacing)*14)}.mb-16{margin-bottom:calc(var(--spacing)*16)}.mb-24{margin-bottom:calc(var(--spacing)*24)}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-8{height:calc(var(--spacing)*8)}.w-5{width:calc(var(--spacing)*5)}.w-8{width:calc(var(--spacing)*8)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-\[var\(--space-2\)\]{gap:var(--space-2)}.rounded-full{border-radius:var(--radius-full)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.bg-\[var\(--color-border\)\]{background-color:var(--color-border)}.bg-\[var\(--color-surface\)\]{background-color:var(--color-surface)}.p-8{padding:calc(var(--spacing)*8)}.p-\[var\(--space-8\)\]{padding:var(--space-8)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-\[var\(--space-3\)\]{padding-inline:var(--space-3)}.py-2{padding-block:calc(var(--spacing)*2)}.py-12{padding-block:calc(var(--spacing)*12)}.py-24{padding-block:calc(var(--spacing)*24)}.py-\[var\(--space-1\)\]{padding-block:var(--space-1)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-12{padding-top:calc(var(--spacing)*12)}.text-center{text-align:center}.font-display{font-family:var(--font-display)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-\[var\(--color-text-muted\)\]{color:var(--color-text-muted)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.text-red-400{color:var(--color-red-400)}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-1{transition-delay:1ms}.delay-2{transition-delay:2ms}.delay-3{transition-delay:3ms}@media(hover:hover){.hover\:border-\[var\(--glass-border-hover\)\]:hover{border-color:var(--glass-border-hover)}.hover\:text-\[var\(--color-text\)\]:hover{color:var(--color-text)}}@media(min-width:48rem){.md\:flex-col{flex-direction:column}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-start{justify-content:flex-start}}}:root{--nav-top:var(--space-12);--site-padding:var(--space-6)}@media(max-width:900px){:root{--nav-top:var(--space-6)}}@media(min-width:768px){:root{--site-padding:var(--space-8)}}@media(min-width:1024px){:root{--site-padding:var(--space-16)}}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-top) + var(--nav-height) + var(--space-6));-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);flex-direction:column;min-height:100vh;font-size:1rem;line-height:1.6;display:flex}main{flex:1}::selection{background:var(--color-brand);color:#fff}.font-display{font-family:var(--font-display);letter-spacing:-.02em;line-height:1.1}.text-hero{font-size:clamp(2.5rem,6vw,4rem)}.text-feature-hero{font-size:clamp(2rem,5vw,3rem)}.text-feature-hero-sub{color:var(--color-text-secondary);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:400}.text-section{font-size:clamp(1.75rem,4vw,2.5rem)}.text-body{font-size:1rem;line-height:1.6}.text-body-sm{font-size:.9375rem;line-height:1.6}.text-caption{font-size:.875rem;line-height:1.5}.text-label{font-size:.8125rem;line-height:1.4}.text-micro{letter-spacing:.02em;text-transform:uppercase;font-size:.6875rem;line-height:1.3}.container{max-width:72rem;margin:0 auto}main,footer{padding-inline:var(--site-padding)}.hero-section{min-height:100vh;padding-top:calc(var(--nav-top) + var(--nav-height));padding-bottom:var(--nav-height);flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}@media(max-width:1023px){.hero-section{padding-top:calc(var(--nav-top) + var(--nav-height) + var(--space-12))}}.hero-pill-dot{border-radius:var(--radius-full);background:var(--color-success);width:8px;height:8px;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 #22c55e66}50%{opacity:.8;box-shadow:0 0 0 4px #22c55e00}}.features-grid{gap:var(--space-5);grid-template-columns:1fr;display:grid}@media(min-width:640px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.features-grid{grid-template-columns:repeat(3,1fr)}}.feature-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--nav-blur));backdrop-filter:blur(var(--nav-blur));border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-6);transition:var(--transition-all);position:relative;box-shadow:0 4px 30px #0000001a}.feature-card:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);transform:translateY(-4px);box-shadow:0 8px 40px #0003}.feature-icon{width:var(--space-12);height:var(--space-12);border-radius:var(--radius-md);margin-bottom:var(--space-4);background:var(--glass-bg);border:1px solid var(--glass-border);justify-content:center;align-items:center;display:flex}.feature-icon svg{width:var(--space-6);height:var(--space-6);color:var(--color-brand)}.feature-card h3{margin-bottom:var(--space-2);font-size:1.125rem;font-weight:600;line-height:1.2}.feature-card p{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6}.projects-grid{gap:var(--space-5);grid-template-columns:1fr;display:grid}@media(min-width:640px){.projects-grid{grid-template-columns:repeat(2,1fr)}}.project-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--nav-blur));backdrop-filter:blur(var(--nav-blur));border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-6);transition:var(--transition-all);gap:var(--space-3);flex-direction:column;display:flex;position:relative;box-shadow:0 4px 30px #0000001a}.project-card:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);transform:translateY(-4px);box-shadow:0 8px 40px #0003}.project-card-link{cursor:pointer}.project-card h3{font-size:1.125rem;font-weight:600;line-height:1.2}.project-card p{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6}.project-tags{gap:var(--space-2);padding-top:var(--space-4);flex-wrap:wrap;margin-top:auto;display:flex}.project-tag{padding:var(--space-1)var(--space-3);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border);font-size:.75rem}.project-status{align-items:center;gap:var(--space-1);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600;display:inline-flex}.project-status-live{color:var(--color-success)}.project-status-coming{color:var(--color-text-muted)}.project-status-dot{border-radius:var(--radius-full);width:6px;height:6px}.project-link-hint{align-items:center;gap:var(--space-1);margin-top:var(--space-3);color:var(--color-text-muted);transition:color var(--duration-fast)var(--ease-out),gap var(--duration-fast)var(--ease-out);font-size:.8125rem;font-weight:600;display:inline-flex}.project-link-hint svg{transition:transform var(--duration-fast)var(--ease-out)}.project-card-link:hover .project-link-hint{color:var(--color-text);gap:var(--space-2)}.project-card-link:hover .project-link-hint svg{transform:translate(2px,-2px)}.project-status-live .project-status-dot{background:var(--color-success)}.project-status-coming .project-status-dot{background:var(--color-text-muted)}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--nav-blur));backdrop-filter:blur(var(--nav-blur));border:1px solid var(--glass-border);transition:var(--transition-all);box-shadow:0 4px 30px #0000001a}.glass:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-6);border-radius:var(--radius-full);transition:all var(--duration-fast)var(--ease-out);cursor:pointer;font-size:.875rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.btn-primary{color:var(--color-bg);background:#fff;border:none}.btn-primary:hover{background:#ffffffe6;transform:translateY(-1px);box-shadow:0 4px 20px #ffffff26}.btn-secondary{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--nav-blur));backdrop-filter:blur(var(--nav-blur));border:1px solid var(--glass-border);color:#ffffffb3;box-shadow:0 4px 30px #0000001a}.btn-secondary:hover{background:var(--glass-bg-hover);color:#fff;transform:translateY(-1px)}.btn-brand{background:var(--color-brand);color:#fff;border:none}.btn-brand:hover{background:var(--color-brand-hover);transform:translateY(-1px);box-shadow:0 4px 20px #00c3c34d}details{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--nav-blur));backdrop-filter:blur(var(--nav-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:all var(--duration-fast)var(--ease-out);overflow:hidden;box-shadow:0 4px 30px #0000001a}details:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}details[open]{background:#ffffff0f}details summary{padding:var(--space-5);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;font-size:1rem;font-weight:600;line-height:1.4;list-style:none;display:flex}details summary::-webkit-details-marker{display:none}details summary:after{content:"";width:var(--space-5);height:var(--space-5);transition:transform var(--duration-normal)var(--ease-out-expo);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23808080' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;flex-shrink:0}details[open] summary:after{transform:rotate(180deg)}details .accordion-content{transition:grid-template-rows var(--duration-normal)var(--ease-out-expo);grid-template-rows:0fr;display:grid}details[open] .accordion-content{grid-template-rows:1fr}details .accordion-content>p,details .accordion-content>div{padding:0 var(--space-5);color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6;overflow:hidden}details[open] .accordion-content>p,details[open] .accordion-content>div{padding-bottom:var(--space-5)}details>p,details>div:not(.accordion-content){padding:0 var(--space-5)var(--space-5);color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6}.card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--nav-blur));backdrop-filter:blur(var(--nav-blur));border:1px solid var(--glass-border);border-radius:var(--radius-xl);transition:var(--transition-all);box-shadow:0 4px 30px #0000001a}.card:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-up{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-up{animation:fade-up var(--duration-slow)var(--ease-out-expo)forwards;opacity:0}.animate-scale-up{animation:scale-up var(--duration-slow)var(--ease-out-expo)forwards;opacity:0}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.reveal{opacity:0;transition:all var(--duration-slow)var(--ease-out-expo);transform:translateY(20px)}.reveal.visible{opacity:1;transform:translateY(0)}a{color:inherit;text-decoration:none}.link{color:var(--color-text);text-underline-offset:2px;transition:color var(--duration-fast)var(--ease-out);text-decoration:underline}.link:hover{color:var(--color-text-secondary)}.footer-link{border-radius:var(--radius-full);transition:var(--transition-colors);padding:.25rem .5rem;display:inline-block}.footer-link:hover{color:var(--color-text);background:var(--glass-bg-hover)}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.prose{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6}.prose h2{font-family:var(--font-display);color:var(--color-text);margin:var(--space-10)0 var(--space-3);letter-spacing:-.02em;font-size:1.375rem;line-height:1.1}.prose h3{color:var(--color-text);margin:var(--space-6)0 var(--space-2);font-size:1.125rem;font-weight:600;line-height:1.2}.prose p{margin-bottom:var(--space-4)}.prose ul,.prose ol{margin-bottom:var(--space-5);padding-left:var(--space-5)}.prose li{margin-bottom:var(--space-1)}.prose strong{color:var(--color-text)}.prose a{color:var(--color-text);text-underline-offset:2px;transition:color var(--duration-fast)var(--ease-out);text-decoration:underline}.prose a:hover{color:var(--color-text-secondary)}.prose table{border-collapse:collapse;width:100%;margin:var(--space-6)0;border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:#ffffff08;display:block;overflow:auto hidden}.prose th,.prose td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--color-border)}.prose th{background:var(--glass-bg);color:var(--color-text);font-weight:600}.page-header{padding-top:calc(var(--nav-top) + var(--nav-height) + var(--space-16));padding-bottom:var(--space-24);z-index:10;position:relative}.animated-stats{padding:var(--space-12)0;gap:var(--space-8);grid-template-columns:repeat(3,1fr);margin:0;list-style:none;display:grid}.animated-stat-item{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.animated-stat-number{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text);font-variant-numeric:tabular-nums;font-size:clamp(1.75rem,3.5vw,2.75rem);font-weight:300;line-height:1}.animated-stat-label{font-size:var(--text-caption);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0}@media(max-width:640px){.animated-stats{gap:var(--space-6);padding:var(--space-8)0;grid-template-columns:1fr}.animated-stat-number{font-size:clamp(1.5rem,8vw,2rem)}}.process-grid{gap:var(--space-5);grid-template-columns:1fr;max-width:48rem;margin:0 auto;display:grid}.process-step{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--nav-blur));backdrop-filter:blur(var(--nav-blur));border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-6);transition:var(--transition-all);position:relative;box-shadow:0 4px 30px #0000001a}.process-step:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);transform:translateY(-2px)}.process-number{font-family:var(--font-display);color:var(--color-brand);letter-spacing:.05em;margin-bottom:var(--space-3);font-size:.875rem;font-weight:700}.process-title{margin-bottom:var(--space-2);font-size:1.125rem;font-weight:600;line-height:1.2}.process-desc{color:var(--color-text-secondary);margin-bottom:var(--space-3);font-size:.9375rem;line-height:1.6}.process-time{color:var(--color-text-secondary);background:var(--glass-bg);border:1px solid var(--glass-border);padding:var(--space-1)var(--space-3);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;display:inline-block}@media(min-width:640px){.process-grid{grid-template-columns:repeat(2,1fr)}.process-grid .process-step:last-child{grid-column:1/-1;justify-self:center;max-width:50%}}.contact-form{gap:var(--space-5);flex-direction:column;display:flex}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-label{color:var(--color-text);font-size:.875rem;font-weight:600}.form-input,.form-select,.form-textarea{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-3)var(--space-4);color:var(--color-text);font-family:var(--font-body);transition:all var(--duration-fast)var(--ease-out);-webkit-appearance:none;font-size:.9375rem;line-height:1.6}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-brand-border);background:var(--glass-bg-hover);box-shadow:0 0 0 3px var(--color-brand-bg);outline:none}.form-textarea{resize:vertical;min-height:8rem}.form-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23808080' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3)center;padding-right:var(--space-10);background-size:1.25rem}.form-row{gap:var(--space-5);grid-template-columns:1fr;display:grid}@media(min-width:640px){.form-row{grid-template-columns:repeat(2,1fr)}}.blog-grid{gap:var(--space-5);grid-template-columns:1fr;display:grid}@media(min-width:640px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.blog-grid{grid-template-columns:repeat(3,1fr)}}.blog-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--nav-blur));backdrop-filter:blur(var(--nav-blur));border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-6);transition:var(--transition-all);gap:var(--space-3);color:inherit;flex-direction:column;text-decoration:none;display:flex;box-shadow:0 4px 30px #0000001a}.blog-card:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);transform:translateY(-4px);box-shadow:0 8px 40px #0003}.blog-card-meta{align-items:center;gap:var(--space-2);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;display:flex}.blog-card h3{font-size:1.125rem;font-weight:600;line-height:1.3}.blog-card p{color:var(--color-text-secondary);flex:1;font-size:.9375rem;line-height:1.6}.blog-card-read{align-items:center;gap:var(--space-1);color:var(--color-text);transition:gap var(--duration-fast)var(--ease-out);margin-top:auto;font-size:.8125rem;font-weight:600;display:inline-flex}.blog-card:hover .blog-card-read{gap:var(--space-2)}.case-study-header{text-align:center;max-width:48rem;margin:0 auto var(--space-16)}.case-study-tags{justify-content:center;gap:var(--space-2);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.case-study-section{max-width:48rem;margin:0 auto var(--space-12)}.case-study-section h2,.case-study-section h3{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:var(--space-4);font-size:1.375rem;line-height:1.1}.case-study-section p{color:var(--color-text-secondary);margin-bottom:var(--space-4);font-size:.9375rem;line-height:1.6}.results-grid{align-items:center;gap:var(--space-5);max-width:48rem;margin:0 auto var(--space-12);grid-template-columns:repeat(3,1fr);display:grid}@media(max-width:640px){.results-grid{grid-template-columns:1fr}}.result-card{padding:var(--space-6)var(--space-4);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.result-card .stat-number{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-brand);margin-bottom:var(--space-2);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:300;line-height:1;display:block}.result-card .stat-label{font-size:var(--text-caption);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.tech-stack-grid{justify-content:center;gap:var(--space-3);flex-wrap:wrap;max-width:48rem;margin:0 auto;display:flex}.tech-badge{padding:var(--space-2)var(--space-4);border-radius:var(--radius-full);background:var(--glass-bg);color:var(--color-text-secondary);border:1px solid var(--glass-border);font-size:.875rem;font-weight:500}::-webkit-scrollbar{width:var(--space-2)}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--space-1)}@view-transition{navigation:auto}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skip-link{top:-100%;left:var(--space-4);z-index:9999;padding:var(--space-3)var(--space-4);background:var(--color-brand);color:#fff;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;text-decoration:none;transition:top .2s;position:absolute}.skip-link:focus{top:var(--space-4);outline-offset:2px;outline:2px solid #fff}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}.footer-brand[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}.footer-logo[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:12px;white-space:nowrap;transition:opacity .2s ease}.footer-logo[data-astro-cid-sz7xmlte]:hover{opacity:.8}.footer-nav[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 8px}@media(min-width:768px){.footer-brand[data-astro-cid-sz7xmlte]{justify-content:flex-start}}
