div[data-astro-cid-f7espo7c]{background-color:var(--color-content);width:50px;height:50px;-webkit-mask:url(/logov3.png) 50%/contain no-repeat;-webkit-mask-composite:source-in;-webkit-mask-source-type:luminance;mask:url(/logov3.png) 50%/contain no-repeat intersect luminance}.site-header[data-astro-cid-isef26zo]{z-index:50;background:var(--back-header);border-bottom:1px solid var(--border-color);position:sticky;top:0}.site-header__nav[data-astro-cid-isef26zo]{justify-content:space-between;align-items:center;gap:1.5rem;max-width:1040px;margin:0 auto;padding:.85rem 1.25rem;display:flex}.site-header__brand[data-astro-cid-isef26zo]{flex-shrink:0;align-items:center;gap:.85rem;display:flex}.site-header__brand-text[data-astro-cid-isef26zo]{line-height:1.2}.site-header__title[data-astro-cid-isef26zo]{font-family:var(--font-1);letter-spacing:-.02em;color:var(--color-content);font-size:1.25rem;font-weight:700}.site-header__tagline[data-astro-cid-isef26zo]{color:var(--color-muted);margin-top:.1rem;font-size:.8rem}.site-header__links[data-astro-cid-isef26zo]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.25rem;display:flex}.header-link[data-astro-cid-isef26zo].active{color:var(--color-content);background:var(--accent-soft)}@media (width<=640px){.site-header__nav[data-astro-cid-isef26zo]{flex-direction:column;align-items:stretch;padding:1rem 1.25rem}.site-header__links[data-astro-cid-isef26zo]{justify-content:center}}footer{background-color:var(--back-2);border-top:1px solid var(--border-color);color:var(--color-header);padding:3rem 0 2.5rem}.footer-content{justify-content:center;max-width:1040px;margin-left:auto;margin-right:auto;display:flex}.social-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.25rem;padding:.5rem;display:flex}.social-links a,.social-links button{fill:var(--color-content);border-radius:var(--border-radius-1);padding:.5rem;text-decoration:none;transition:background-color .15s,transform .15s}.social-links a:hover,.social-links button:hover{background-color:var(--back-1)}.social-links svg:hover{transform:scale(1.08)}.social-links svg{width:28px;height:28px;transition:transform .15s}.copyright{text-align:center;color:var(--color-muted);margin-top:1.5rem;font-size:.875rem}.site-footer[data-astro-cid-oenwriqq]{margin-top:6rem}.footer-email[data-astro-cid-oenwriqq]{color:var(--color-content);border-radius:var(--border-radius-1);padding:.5rem .75rem;font-size:1rem;font-weight:500;text-decoration:none;transition:background-color .15s}.footer-email[data-astro-cid-oenwriqq]:hover{background-color:var(--back-1)}.footer-icons[data-astro-cid-oenwriqq]{align-items:center;gap:.25rem;display:flex}@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--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-duration:initial;--tw-font-weight:initial;--tw-outline-style:solid;--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}}}:root{--color-content:#0f172a;--color-light:#475569;--color-muted:#94a3b8;--color-header:#0f172a;--color-btn:#fff;--color-back:var(--color-content);--color-hero:#fff;--back-0:#f8fafc;--back-1:#f1f5f9;--back-2:#fff;--back-content:#fff;--back-contrast:#f1f5f9;--back-code:#f1f5f9;--back-header:#fff;--back-btn:#2563eb;--back-btn-hover:#1d4ed8;--accent:#2563eb;--accent-2:#3b82f6;--accent-teal:#0ea5e9;--accent-soft:#2563eb1a;--accent-soft-2:#3b82f614;--accent-ring:#2563eb59;--gradient-accent:linear-gradient(135deg, #2563eb 0%, #3b82f6 50%, #0ea5e9 100%);--gradient-surface:linear-gradient(160deg, #2563eb0f 0%, #0ea5e90a 50%, transparent 100%);--hero-shadow:var(--color-content);--landing-bits:#e2e8f0;--primary-contrast:#475569;--border-radius-1:8px;--border-radius-2:12px;--border-radius-3:16px;--border-width:1px;--border-width-light:1px;--border-color:#e2e8f0;--border-color-strong:#cbd5e1;--shadow-color:#0f172a14;--shadow-sm:0 1px 2px #0f172a0a;--shadow-md:0 4px 20px #0f172a0f, 0 1px 3px #0f172a0a;--shadow-lg:0 20px 48px #0f172a14, 0 4px 12px #0f172a0a;--shadow-card:var(--shadow-md);--shadow-card-hover:var(--shadow-lg);--shadow-accent:0 8px 24px #2563eb38;--font-1:"Outfit", system-ui, sans-serif;--font-2:"Space Grotesk", system-ui, sans-serif;--font-size-text:17px;--font-size-1:clamp(2.25rem, 5vw, 3rem);--font-size-2:clamp(1.5rem, 3vw, 2rem);--font-size-caption:.875rem;--letter-spacing-text:-.01em;--line-height-body:1.65}.card>h1{margin-left:20px}.image-card{display:flex;overflow:hidden}.card-contents{padding:1.5rem 2rem}.card-row{border-radius:var(--border-radius-1);padding:.75rem;transition:background-color .15s;display:flex}.card-row:hover{background-color:var(--back-1)}.image-card .card-row-text{padding:1.25rem}.image-card .card-row-title{margin-bottom:.75rem}.card-row img{border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-1);width:100px;height:100px}.card-row:hover .card-row-title{color:var(--accent)}.card-row-title{font-size:.95rem;font-weight:600;transition:color .15s}.image-card .card-row-title{font-size:1.35rem}.card-row-desc{font-size:var(--font-size-caption);color:var(--color-light);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:.35rem;line-height:1.55;display:-webkit-box;overflow:hidden}.card-row-link{font-size:var(--font-size-caption);margin:.75rem 0}.card-action-btn{margin-top:1.25rem}.card-list{flex-wrap:wrap;align-items:stretch;gap:1.5rem;display:flex}.card-list .card{width:600px}.card-list-v{grid-template-columns:repeat(auto-fit,minmax(300px,500px));justify-content:center;justify-items:center;gap:1.5rem;display:grid}.card-list-v img{border-bottom:var(--border-width) solid var(--border-color);object-fit:cover;width:100%;max-width:100%;height:250px}@media screen and (width<=1400px){.card-list{grid-template-columns:1fr}}.dashboard-alt-right .card:not(:first-child){margin-top:3rem}.article-tag{border:1px solid var(--border-color);background-color:var(--back-1);color:var(--color-light);border-radius:999px;margin:0 .25rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-block}@layer theme{:root,:host{--color-gray-800:oklch(27.8% .033 256.848);--color-white:#fff;--spacing:.25rem;--font-weight-medium:500;--font-weight-bold:700;--radius-lg:.5rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--text-sm:.875rem;--text-lg:1.125rem;--text-xl:1.25rem}}@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky\!{position:sticky!important}.top-24\!{top:calc(var(--spacing) * 24)!important}.z-1{z-index:1}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.container{max-width:1040px;padding-inline:calc(var(--spacing) * 5);margin-inline:auto}.container-sm{max-width:800px;padding-inline:calc(var(--spacing) * 5);margin-inline:auto}.mx-5{margin-inline:calc(var(--spacing) * 5)}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-3{margin-block:calc(var(--spacing) * 3)}.my-20{margin-block:calc(var(--spacing) * 20)}.mt-0{margin-top:0}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-30\!{margin-top:calc(var(--spacing) * 30)!important}.mr-10{margin-right:calc(var(--spacing) * 10)}.ml-5{margin-left:calc(var(--spacing) * 5)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.h-\[500px\]{height:500px}.min-h-screen{min-height:100vh}.max-w-\[1000px\]{max-width:1000px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}@media (hover:hover){.card-base-hover:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y);border-color:var(--border-color-strong);--tw-shadow:var(--shadow-card-hover);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-stretch{place-items:stretch stretch}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-10{gap:calc(var(--spacing) * 10)}.overflow-hidden{overflow:hidden}.card{border-radius:var(--radius-2xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border-color);background-color:var(--color-white);--tw-shadow:var(--shadow-card);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);transition-property:box-shadow,transform,border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 4);transition-duration:.2s}.card-base{border-radius:var(--radius-2xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border-color);background-color:var(--color-white);--tw-shadow:var(--shadow-card);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);transition-property:box-shadow,transform,border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s}.header-link{border-radius:var(--radius-lg);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-medium);font-size:.95rem;font-weight:var(--font-weight-medium);color:var(--color-light);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));--tw-duration:.15s;transition-duration:.15s}@media (hover:hover){.header-link:hover{background-color:var(--back-1);color:var(--color-content)}}.border-light{border:var(--border-width-light) solid var(--border-color);border-radius:var(--border-radius-2)}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-solid{--tw-border-style:solid;border-style:solid}.p-4{padding:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pt-\[50px\]{padding-top:50px}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.text-center{text-align:center}.font-header{font-family:var(--font-1);letter-spacing:-.02em;font-weight:700;line-height:1.15}.text-lg{font-size:var(--text-lg)}.text-sm{font-size:var(--text-sm)}.text-xl{font-size:var(--text-xl)}.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)}.text-gray-800{color:var(--color-gray-800)}.underline{text-decoration-line:underline}.decoration-0{text-decoration-thickness:0}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.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,)}.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))}@media (width>=40rem){.sm\:h-\[500px\]{height:500px}.sm\:h-\[600px\]{height:600px}.sm\:text-xl\!{font-size:var(--text-xl)!important}}@media (width>=48rem){.md\:mx-10{margin-inline:calc(var(--spacing) * 10)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:block{display:block}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-2);background-color:var(--back-0);color:var(--color-back);font-size:var(--font-size-text);letter-spacing:var(--letter-spacing-text);line-height:var(--line-height-body);font-display:block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}::selection{background:var(--accent-soft);color:var(--color-content)}h1,h2,h3,h4{font-family:var(--font-1);letter-spacing:-.02em;color:var(--color-content);font-weight:600;line-height:1.2}h1{font-size:var(--font-size-1)}h2{font-size:var(--font-size-2)}a{color:inherit;text-decoration:none}.snippit a{text-underline-offset:3px;text-decoration:underline}.snippit{background:var(--back-2);border:1px solid var(--border-color);border-radius:var(--border-radius-2);box-shadow:var(--shadow-sm);margin:2.5rem 0;padding:1.75rem}.snippit h2{margin-top:0;font-size:1.35rem}.snippit p{color:var(--color-light);line-height:1.65}button{background-color:inherit;color:inherit;cursor:pointer;border:none;font-family:inherit}.btn-primary{text-align:center;background-color:var(--back-btn);color:var(--color-btn);cursor:pointer;font-size:1rem;font-weight:600;font-family:var(--font-1);border-radius:var(--border-radius-2);box-shadow:var(--shadow-sm);border:1px solid #0000;justify-content:center;align-items:center;padding:.85rem 1.6rem;transition:background-color .18s,box-shadow .18s,transform .18s;display:inline-flex}.btn-primary:hover{background-color:var(--back-btn-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{text-align:center;background-color:var(--back-2);color:var(--color-content);border:1px solid var(--border-color-strong);border-radius:var(--border-radius-2);cursor:pointer;font-size:1rem;font-weight:600;font-family:var(--font-1);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;padding:.85rem 1.6rem;transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s;display:inline-flex}.btn-secondary:hover{background-color:var(--back-1);border-color:var(--border-color-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.uppercase{text-transform:uppercase}.btn-small{padding:.5rem 1rem;font-size:.9rem}hr{border:none;border-bottom:var(--border-width) solid var(--border-color);margin:0}img{display:block}.page-hero{text-align:center;padding:5rem 0 3rem}.page-hero__title{letter-spacing:-.03em;margin:0;font-size:clamp(2.5rem,6vw,3.5rem);font-weight:700}.page-hero__subtitle{max-width:36rem;color:var(--color-light);margin:1rem auto 0;font-size:1.125rem;line-height:1.6}.section-heading{text-align:center;letter-spacing:-.02em;margin:0 0 2.5rem;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700}.section-block{padding:4rem 0}.text-light{color:var(--color-light)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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-duration{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}
