/*! 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)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--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-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-tracking:initial;--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-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;--tw-duration:initial}}}@layer theme{:host,:root{--font-sans:var(--font-noto),"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-yellow-400:oklch(85.2% .199 91.936);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-pink-500:oklch(65.6% .241 354.308);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-bold:700;--radius-2xl:1rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--blur-sm:8px;--blur-xl:24px;--blur-2xl:40px;--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);--color-crystal-400:#5798ff;--color-crystal-500:#2776ff}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing)*4)}.top-auto{top:auto}.-right-8{right:calc(var(--spacing)*-8)}.bottom-0{bottom:calc(var(--spacing)*0)}.-left-8{left:calc(var(--spacing)*-8)}.-left-\[9999px\]{left:-9999px}.left-1\/2{left:50%}.left-4{left:calc(var(--spacing)*4)}.z-10{z-index:10}.z-50{z-index:50}.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-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.-ml-0\.75{margin-left:calc(var(--spacing)*-.75)}.-ml-1{margin-left:calc(var(--spacing)*-1)}.flex{display:flex}.hidden{display:none}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-8{height:calc(var(--spacing)*8)}.h-16{height:calc(var(--spacing)*16)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-px{height:1px}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-16{width:calc(var(--spacing)*16)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-px{width:1px}.max-w-6xl{max-width:var(--container-6xl)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%}.scale-100,.scale-110{scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%}.scale-125,.scale-150{scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-150{--tw-scale-x:150%;--tw-scale-y:150%;--tw-scale-z:150%}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e+38px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-crystal-400{border-color:var(--color-crystal-400)}.border-crystal-400\/50{border-color:#5798ff80}@supports (color:color-mix(in lab,red,red)){.border-crystal-400\/50{border-color:color-mix(in oklab,var(--color-crystal-400)50%,transparent)}}.border-t-transparent{border-top-color:#0000}.bg-black{background-color:var(--color-black)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-crystal-400{background-color:var(--color-crystal-400)}.bg-purple-400{background-color:var(--color-purple-400)}.bg-red-500\/80{background-color:#fb2c36cc}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/80{background-color:color-mix(in oklab,var(--color-red-500)80%,transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab}.bg-gradient-to-br,.bg-gradient-to-l{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-l{--tw-gradient-position:to left in oklab}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-crystal-400{--tw-gradient-from:var(--color-crystal-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-crystal-500{--tw-gradient-from:var(--color-crystal-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-crystal-500\/50{--tw-gradient-from:#2776ff80}@supports (color:color-mix(in lab,red,red)){.from-crystal-500\/50{--tw-gradient-from:color-mix(in oklab,var(--color-crystal-500)50%,transparent)}}.from-crystal-500\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-cyan-400{--tw-gradient-from:var(--color-cyan-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-cyan-500{--tw-gradient-from:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-500{--tw-gradient-from:var(--color-green-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-400{--tw-gradient-from:var(--color-yellow-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-purple-500{--tw-gradient-via:var(--color-purple-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-red-500{--tw-gradient-via:var(--color-red-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-crystal-400\/50{--tw-gradient-to:#5798ff80}@supports (color:color-mix(in lab,red,red)){.to-crystal-400\/50{--tw-gradient-to:color-mix(in oklab,var(--color-crystal-400)50%,transparent)}}.to-crystal-400\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-500{--tw-gradient-to:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-400{--tw-gradient-to:var(--color-purple-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-400\/50{--tw-gradient-to:#c07eff80}@supports (color:color-mix(in lab,red,red)){.to-purple-400\/50{--tw-gradient-to:color-mix(in oklab,var(--color-purple-400)50%,transparent)}}.to-purple-400\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-500{--tw-gradient-to:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-600\/50{--tw-gradient-to:#9810fa80}@supports (color:color-mix(in lab,red,red)){.to-purple-600\/50{--tw-gradient-to:color-mix(in oklab,var(--color-purple-600)50%,transparent)}}.to-purple-600\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-500{--tw-gradient-to:var(--color-teal-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-16{padding-block:calc(var(--spacing)*16)}.py-20{padding-block:calc(var(--spacing)*20)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--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-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.text-crystal-400{color:var(--color-crystal-400)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-white\/30{color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.text-white\/30{color:color-mix(in oklab,var(--color-white)30%,transparent)}}.text-white\/40{color:#fff6}@supports (color:color-mix(in lab,red,red)){.text-white\/40{color:color-mix(in oklab,var(--color-white)40%,transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px 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)}.blur-2xl{--tw-blur:blur(var(--blur-2xl))}.blur-2xl,.blur-xl{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,)}.blur-xl{--tw-blur:blur(var(--blur-xl))}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-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-all{transition-property:all;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))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\:from-crystal-400:hover{--tw-gradient-from:var(--color-crystal-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:from-green-400:hover{--tw-gradient-from:var(--color-green-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-purple-400:hover{--tw-gradient-to:var(--color-purple-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-teal-400:hover{--tw-gradient-to:var(--color-teal-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}}@media (min-width:40rem){.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}}}:root{--ink:#062b5e;--ink-soft:#0755bd;--paper:#fff;--paper-deep:#f3f6fa;--white:#fff;--blue:#06f;--blue-deep:#004fc7;--blue-night:#032b68;--blue-pale:#eaf4ff;--line-dark:#ffffff24;--line-light:#081a3324;--shell:min(1280px,calc(100vw - 96px))}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--white);font-family:var(--font-sans);margin:0}a{color:inherit;text-decoration:none}button{font:inherit}::selection{color:#fff;background:var(--blue)}.section-shell{width:var(--shell);margin-inline:auto}.section-kicker{color:var(--blue);letter-spacing:.18em;margin:0;font-size:.75rem;font-weight:700;line-height:1}.site-header{z-index:50;padding-top:20px;transition:padding .28s;position:fixed;inset:0 0 auto}.site-header--scrolled{padding-top:10px}.site-header__inner{width:var(--shell);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffed;border:1px solid #ffffffb8;border-radius:999px;grid-template-columns:1fr auto 1fr;align-items:center;height:82px;margin-inline:auto;padding:0 24px;display:grid;box-shadow:0 12px 40px #041f491a}.brand-mark{align-items:center;gap:11px;width:max-content;display:inline-flex}.brand-mark__symbol{background:var(--blue);color:#fff;place-items:center;width:33px;height:33px;font-size:1.08rem;font-weight:800;line-height:1;display:grid}.brand-mark>span:last-child{flex-direction:column;display:flex}.brand-mark strong{color:var(--ink);letter-spacing:.07em;font-size:.93rem}.brand-mark small{color:#062b5e7a;letter-spacing:.14em;margin-top:2px;font-size:.74rem}.site-nav{align-items:center;gap:clamp(24px,3vw,48px);display:flex}.site-nav a{color:#062b5eb3;font-size:.82rem;font-weight:600;transition:color .18s}.site-nav a:hover{color:var(--blue)}.header-contact{border:1px solid var(--blue);color:#fff;background:var(--blue);border-radius:999px;justify-self:end;align-items:center;gap:9px;padding:10px 17px;font-size:.84rem;font-weight:650;transition:transform .18s,background .18s;display:inline-flex}.header-contact:hover{background:var(--blue-deep);transform:translateY(-1px)}.menu-button{color:var(--ink);background:0 0;border:0;padding:8px;display:none}.mobile-nav{display:none}.hero{background:radial-gradient(circle at 78% 42%,#74c2ff80,#0000 25%),linear-gradient(135deg,#0868f5,#087cff 55%,#0048ba);height:100dvh;min-height:880px;position:relative;overflow:hidden}.hero-photo{background-image:linear-gradient(90deg,#0066f5,#0066f5f7 34%,#005bdca8 57%,#00379121),linear-gradient(#004dc714,#004dc738),url(/images/hero-software-blue.png);background-position:50%;background-size:cover}.hero-grid,.hero-photo{position:absolute;inset:0}.hero-grid{opacity:.42;background-image:linear-gradient(#ffffff0e 1px,#0000 0),linear-gradient(90deg,#ffffff0e 1px,#0000 0);background-size:80px 80px;-webkit-mask-image:linear-gradient(90deg,#000,#0000 82%);mask-image:linear-gradient(90deg,#000,#0000 82%)}.hero-grid:before{content:"";top:0;left:calc((100vw - var(--shell))/2);background:#ffffff40;width:1px;height:100%;position:absolute}.hero-orbit{pointer-events:none;border:1px solid #ffffff57;border-radius:50%;position:absolute}.hero-orbit--one{aspect-ratio:1;width:min(65vw,950px);top:5%;right:-15vw}.hero-orbit--two{aspect-ratio:1;width:min(36vw,530px);top:24%;right:1vw}.hero-orbit--two:after{content:"";background:#fff;border-radius:50%;width:9px;height:9px;position:absolute;top:48%;left:-5px;box-shadow:0 0 28px 8px #ffffff59}.hero__inner{z-index:2;width:var(--shell);flex-direction:column;height:100%;min-height:880px;margin-inline:auto;padding-top:clamp(160px,18vh,190px);display:flex;position:relative}.hero__eyebrow{color:#ffffffb3;letter-spacing:.14em;align-items:center;gap:13px;font-size:.8rem;font-weight:650;display:flex}.hero__eyebrow span{background:#ffffffb3;width:26px;height:1px}.hero__title{letter-spacing:-.075em;max-width:820px;margin:clamp(34px,4.5vh,48px) 0 0;padding-block:.08em;font-size:clamp(4.5rem,7.6vw,7.25rem);font-weight:620;line-height:1.04}.hero__title em{color:#d6ecff;text-shadow:0 0 45px #addeff29;font-style:normal}.hero__bottom{width:min(680px,100%);margin-top:clamp(34px,4vh,48px)}.hero__bottom>p{color:#ffffffb8;margin:0;font-size:.95rem;line-height:1.9}.hero__actions{align-items:center;gap:30px;margin-top:25px;display:flex}.button{justify-content:center;align-items:center;gap:20px;font-size:.86rem;display:inline-flex}.button--primary{min-height:54px;color:var(--blue);background:#fff;border-radius:999px;padding:0 25px;font-weight:700;transition:background .18s,transform .18s;box-shadow:0 12px 35px #022a6424}.button--primary:hover{background:#edf6ff;transform:translateY(-2px)}.button--text{color:#fffc;border-bottom:1px solid #ffffff80;padding:16px 0}.hero__capabilities{border-top:1px solid var(--line-dark);grid-template-columns:160px repeat(6,1fr);margin-top:auto;display:grid}.hero__scroll{color:#ffffff94;letter-spacing:.18em;writing-mode:vertical-rl;align-items:center;gap:10px;font-size:.73rem;display:flex;position:absolute;bottom:116px;right:0}.hero__scroll svg{animation:scroll-nudge 1.8s ease-in-out infinite}@keyframes scroll-nudge{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.hero__capabilities div{color:#ffffffd1;border-right:1px solid var(--line-dark);letter-spacing:.1em;flex-direction:column;justify-content:center;align-items:flex-start;gap:11px;min-height:92px;padding:0 18px;font-size:.76rem;line-height:1.4;display:flex}.hero__capabilities div:first-child{border-left:1px solid var(--line-dark)}.hero__capabilities-heading span{color:#fff;letter-spacing:.14em;font-size:.73rem;font-weight:700}.hero__capabilities-heading small{color:#ffffff6b;letter-spacing:.08em;font-size:.75rem}.hero__capability-number{color:#d6ecffa8;font-variant-numeric:tabular-nums;font-size:.72rem}.hero__capabilities strong{white-space:nowrap;font-weight:620}.business-section{background:var(--paper);color:var(--ink);padding:150px 0 0}.section-intro{grid-template-columns:1fr 2fr 1.15fr;align-items:start;gap:40px;margin-bottom:120px;display:grid}.contact-band h2,.news-heading h2,.process-block h2,.section-intro h2,.works-heading h2{letter-spacing:-.055em;margin:-10px 0 0;font-size:clamp(2.5rem,4.6vw,4.8rem);font-weight:550;line-height:1.18}.section-intro__body{color:#07111fa3;margin:0;font-size:.98rem;line-height:2.05}.service-list{border-top:1px solid var(--line-light)}.service-row{border-bottom:1px solid var(--line-light);grid-template-columns:50px 44px minmax(240px,.9fr) 1.15fr;align-items:center;gap:24px;min-height:156px;display:grid}.service-row__number{color:#07111f66;align-self:start;padding-top:38px;font-size:.75rem}.service-row__icon{color:var(--blue)}.service-row>div>p{color:#07111f6e;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem}.service-row h3{margin:0;font-size:1.35rem;font-weight:620}.service-row__description{color:#07111f99;max-width:530px;margin:0;font-size:.92rem;line-height:1.9}.process-block{color:#fff;background:linear-gradient(135deg,var(--blue)0,var(--blue-deep)100%);border-radius:40px;grid-template-columns:1.4fr .8fr;gap:70px;margin-top:150px;padding:105px 7vw;display:grid}.process-block .section-kicker{margin-bottom:34px}.process-block>p{color:#ffffffa3;margin:45px 0 0;font-size:.92rem;line-height:1.95}.process-line{grid-column:1/-1;grid-template-columns:repeat(4,1fr);margin-top:30px;display:grid}.process-line>div{border-top:1px solid #ffffff3d;gap:12px;padding:34px 20px 0 0;display:grid;position:relative}.process-line>div:before{content:"";background:var(--blue);border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;left:0}.process-line span{color:#d6ecff;font-size:.75rem}.process-line small{color:#ffffff80;letter-spacing:.15em;font-size:.72rem}.process-line strong{font-size:.88rem;font-weight:500}.portfolio-link-section{background:var(--paper);color:var(--ink);padding:140px 0 145px}.portfolio-heading{grid-template-columns:1.35fr .65fr;align-items:end;gap:80px;margin-bottom:64px;display:grid}.portfolio-heading h2{letter-spacing:-.055em;margin:28px 0 0;font-size:clamp(2.5rem,4.6vw,4.7rem);font-weight:550;line-height:1.1}.portfolio-heading>p{color:#07111f94;margin:0;font-size:.9rem;line-height:1.95}.featured-works{grid-template-columns:1.2fr .9fr .9fr;gap:20px;display:grid}.featured-work{min-width:0}.featured-work__image{aspect-ratio:4/3;border:1px solid var(--line-light);background:var(--blue-pale);position:relative;overflow:hidden}.featured-work:first-child .featured-work__image{aspect-ratio:16/11}.featured-work__image img{object-fit:cover;filter:saturate(.82);transition:transform .6s cubic-bezier(.2,.65,.2,1),filter .3s}.featured-work:hover .featured-work__image img{filter:saturate();transform:scale(1.035)}.featured-work__image>span{color:#fff;background:var(--blue);letter-spacing:.12em;min-width:42px;padding:10px;font-size:.73rem;position:absolute;top:0;left:0}.featured-work__meta{border-bottom:1px solid var(--line-light);grid-template-columns:52px 1fr 24px;align-items:center;gap:14px;padding:18px 0;display:grid}.featured-work__meta p{color:var(--blue);letter-spacing:.14em;margin:0;font-size:.74rem;font-weight:700}.featured-work__meta h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:560;overflow:hidden}.featured-work__meta svg{color:#07111f6b;transition:transform .18s,color .18s}.featured-work:hover .featured-work__meta svg{color:var(--blue);transform:translate(4px)}.portfolio-all-link{border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light);grid-template-columns:130px 1fr 120px 56px;align-items:center;gap:24px;min-height:108px;margin-top:38px;display:grid}.portfolio-all-link small,.portfolio-all-link>span:first-child{color:var(--blue);letter-spacing:.15em;font-size:.75rem;font-weight:700}.portfolio-all-link strong{font-size:1.05rem;font-weight:560}.portfolio-all-link small{color:#07111f6b}.portfolio-all-link__arrow{color:#fff;background:var(--blue);border-radius:50%;place-items:center;width:48px;height:48px;transition:transform .18s,background .18s;display:grid}.portfolio-all-link:hover .portfolio-all-link__arrow{background:var(--blue-deep);transform:translate(5px)}.portfolio-page__hero{background:radial-gradient(circle at 80% 35%,#91d2ff73,#0000 28%),linear-gradient(135deg,#06f,#087cff 55%,#0057df);align-items:flex-end;min-height:620px;padding:160px 0 85px;display:flex;position:relative;overflow:hidden}.portfolio-page__grid{opacity:.42;background-image:linear-gradient(#ffffff0d 1px,#0000 0),linear-gradient(90deg,#ffffff0d 1px,#0000 0);background-size:80px 80px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.portfolio-page__hero .section-shell{z-index:1;position:relative}.portfolio-page__hero h1{letter-spacing:-.075em;margin:35px 0 70px;font-size:clamp(5.2rem,12.5vw,12rem);font-weight:600;line-height:.8}.portfolio-page__intro{border-top:1px solid var(--line-dark);grid-template-columns:1fr minmax(290px,520px) auto;align-items:end;gap:55px;padding-top:28px;display:grid}.portfolio-page__intro p{margin:0}.portfolio-page__intro p:first-child{font-size:1.05rem;font-weight:600}.portfolio-page__intro p:nth-child(2){color:#ffffff8c;font-size:.9rem;line-height:1.9}.portfolio-page__intro span{color:#d6ecff;letter-spacing:.17em;font-size:.76rem;font-weight:700}.works-section{background:var(--paper);color:var(--ink);padding:155px 0}.works-section--archive{background:var(--paper-deep);padding-top:100px}.works-heading{grid-template-columns:1fr minmax(280px,420px);align-items:end;gap:60px;margin-bottom:70px;display:grid}.works-heading .section-kicker{margin-bottom:28px}.works-heading>p{color:#07111f99;margin:0;font-size:.92rem;line-height:1.9}.works-filter{border-bottom:1px solid var(--line-light);align-items:center;gap:7px;margin-bottom:34px;padding-bottom:15px;display:flex;overflow-x:auto}.works-filter button{white-space:nowrap;color:#07111f80;cursor:pointer;background:0 0;border:0;padding:9px 15px;font-size:.78rem}.works-filter button span{opacity:.7;margin-left:7px;font-size:.73rem}.works-filter button.is-active{color:#fff;background:var(--blue);border-radius:999px}.works-result-count{color:#07111f85;text-align:right;margin:-20px 0 20px;font-size:.8rem}.works-result-count strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-right:3px;font-size:1rem}.works-empty{border:1px solid var(--line-light);color:#07111f94;text-align:center;background:#ffffff9e;border-radius:18px;grid-column:1/-1;margin:52px 0;padding:36px}.works-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.work-item{background:var(--paper);border:1px solid #062b5e21;border-radius:18px;flex-direction:column;min-width:0;min-height:500px;transition:transform .24s,border-color .24s,box-shadow .24s;display:flex;overflow:hidden;box-shadow:0 16px 44px #062b5e0e}.work-item:hover{border-color:#0066ff47;transform:translateY(-4px);box-shadow:0 22px 55px #062b5e1a}.work-item__image{aspect-ratio:16/9;border-bottom:1px solid var(--line-light);background:#e3e9f1;flex:none;position:relative;overflow:hidden}.work-item__image--portrait{background:radial-gradient(circle at 50% 38%,#0066ff1f,#0000 58%),#e7edf5}.work-item__image--portrait img{object-fit:contain}.work-item__image img{filter:saturate(.78);transition:transform .6s cubic-bezier(.2,.65,.2,1),filter .3s}.work-item:hover .work-item__image img{filter:saturate();transform:scale(1.035)}.work-item__body{padding:20px 20px 18px}.work-item__body,.work-item__meta{flex-direction:column;flex:1;display:flex}.work-item__tags{flex-wrap:wrap;gap:5px 9px;display:flex}.work-item__tags span{color:var(--blue);letter-spacing:.12em;font-size:.72rem;font-weight:700}.work-item__meta h3{margin:7px 0 0;font-size:1.08rem;font-weight:620;line-height:1.42}.work-item__meta>p{color:#07111f9e;margin:14px 0 0;font-size:.84rem;line-height:1.72}.work-item__detail{border-top:1px solid var(--line-light);color:var(--ink);justify-content:space-between;align-items:center;margin-top:20px;padding-top:14px;font-size:.78rem;font-weight:650;display:flex}.work-item__arrow{color:#fff;background:var(--blue);border-radius:50%;place-items:center;width:36px;height:36px;transition:transform .18s,background .18s;display:grid}.work-item:hover .work-item__arrow{background:var(--blue-deep);transform:translate(2px,-2px)}.news-section{background:var(--paper-deep);color:var(--ink);padding:135px 0 120px}.news-layout{grid-template-columns:.65fr 1.5fr;gap:80px;padding-bottom:140px;display:grid}.news-heading .section-kicker{margin-bottom:30px}.news-heading h2{font-size:clamp(2.6rem,4vw,4.2rem)}.news-list{border-top:1px solid var(--line-light)}.news-list a{border-bottom:1px solid var(--line-light);grid-template-columns:80px 80px 1fr 24px;align-items:center;gap:18px;min-height:104px;display:grid}.news-list time{color:#081a3380;font-variant-numeric:tabular-nums;font-size:.72rem}.news-list span{color:var(--blue);font-size:.76rem}.news-list strong{font-size:.9rem;font-weight:480;line-height:1.65}.news-list svg{color:#081a335c;transition:transform .18s}.news-list a:hover svg{color:var(--blue);transform:translate(4px)}.contact-band{color:#fff;background:var(--blue);background:linear-gradient(135deg,var(--blue)0,var(--blue-deep)100%);border-radius:40px;grid-template-columns:1.35fr .65fr;align-items:center;gap:90px;min-height:420px;padding:70px 7vw;display:grid}.contact-band .section-kicker{color:#ffffffa6;margin-bottom:32px}.contact-band h2{font-size:clamp(2.4rem,4vw,4.3rem)}.contact-band>div:last-child>p{color:#ffffffc2;margin:0 0 38px;font-size:.92rem;line-height:1.95}.contact-band a{border-bottom:1px solid #ffffffb3;justify-content:space-between;align-items:center;padding:17px 0;font-size:.88rem;display:flex}.site-footer{color:var(--ink);background:linear-gradient(135deg,#ffffffe0,#fff6),var(--blue-pale);border-top:1px solid #062b5e14;padding:90px 0 35px;position:relative}.site-footer__top{grid-template-columns:1fr 1fr;gap:70px;padding-bottom:90px;display:grid}.brand-mark--footer{margin-bottom:28px}.site-footer__top>div>p{color:#062b5e9e;max-width:460px;margin:0;font-size:.86rem;line-height:1.9}.site-footer nav{grid-template-columns:1fr 1fr;align-content:start;gap:0 34px;display:grid}.site-footer nav a{color:#062b5ead;border-bottom:1px solid #062b5e21;justify-content:space-between;align-items:center;padding:15px 0;font-size:.82rem;transition:color .18s,padding .18s;display:flex}.site-footer nav a:hover{color:var(--blue);padding-left:5px}.site-footer__bottom{color:#062b5e75;letter-spacing:.08em;border-top:1px solid #062b5e26;grid-template-columns:1fr 1fr 1fr;padding-top:26px;font-size:.75rem;display:grid}.site-footer__bottom span:nth-child(2){text-align:center}.site-footer__bottom span:last-child{text-align:right}.detail-page{background:var(--paper);min-height:100dvh;color:var(--ink)}.subpage-hero{color:#fff;background:radial-gradient(circle at 80% 28%,#91d2ff5c,#0000 25%),linear-gradient(135deg,#0868f5,#0066eb 60%,#0047ae);align-items:flex-end;min-height:520px;padding:175px 0 82px;display:flex;position:relative;overflow:hidden}.subpage-hero__grid{opacity:.4;background-image:linear-gradient(#ffffff0f 1px,#0000 0),linear-gradient(90deg,#ffffff0f 1px,#0000 0);background-size:80px 80px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 88%);mask-image:linear-gradient(90deg,#000,#0000 88%)}.subpage-hero .section-shell{z-index:1;position:relative}.subpage-hero--profile:after{content:"";z-index:0;background:linear-gradient(90deg,#0048bef5,#005ee6d4 48%,#032b686b),linear-gradient(#032b6814,#032b6861);position:absolute;inset:0}.subpage-hero--profile .section-shell{z-index:2}.subpage-hero--profile .subpage-hero__grid{z-index:1}.subpage-hero__photo{z-index:0;object-fit:cover;object-position:center 48%}.subpage-back{color:#ffffffa8;align-items:center;gap:9px;margin-bottom:62px;font-size:.76rem;display:inline-flex}.subpage-back:hover{color:#fff}.subpage-hero .section-kicker{color:#ffffff94}.subpage-hero h1{letter-spacing:-.065em;max-width:1100px;margin:28px 0 0;font-size:clamp(3.4rem,6.6vw,7.2rem);font-weight:590;line-height:1.05}.subpage-hero__lead{color:#ffffffad;margin:32px 0 0;font-size:.96rem;line-height:1.8}.subpage-hero--article,.subpage-hero--work{min-height:570px}.subpage-hero--work h1{max-width:1100px;font-size:clamp(2.8rem,4.6vw,4.8rem);line-height:1.16}.subpage-hero--article h1{max-width:980px;font-size:clamp(2.8rem,4.8vw,5rem);line-height:1.16}.article-meta{align-items:center;gap:18px;margin-bottom:24px;display:flex}.article-meta time{color:#ffffffa8;font-variant-numeric:tabular-nums;font-size:.76rem}.article-meta span{border:1px solid #ffffff47;border-radius:999px;padding:6px 11px;font-size:.76rem}.contact-content,.detail-content,.profile-content{background:var(--paper);padding:110px 0 140px}.article-shell,.detail-shell{width:min(1040px,var(--shell));margin-inline:auto}.article-shell{width:min(880px,var(--shell))}.work-detail-image{aspect-ratio:16/9;border:1px solid var(--line-light);background:var(--paper-deep);position:relative;overflow:hidden}.work-detail-image--portrait{aspect-ratio:9/16;width:min(42.1875vw - 13.5px,329px);height:min(75vw - 24px,585px);margin-inline:auto}.work-detail-copy{grid-template-columns:.7fr 1.5fr;gap:70px;padding:62px 0 90px;display:grid}.detail-label{color:var(--blue);letter-spacing:.16em;margin:0;font-size:.76rem;font-weight:700}.work-markdown{color:#07111fad;font-size:1rem;line-height:2}.work-markdown>:first-child{margin-top:0}.work-markdown>:last-child{margin-bottom:0}.work-markdown p{margin:0 0 22px}.work-markdown h2,.work-markdown h3{color:var(--ink);font-weight:620;line-height:1.5}.work-markdown h2{margin:42px 0 16px;font-size:1.45rem}.work-markdown h3{margin:32px 0 12px;font-size:1.15rem}.work-markdown ul{margin:18px 0 24px;padding-left:1.25em}.work-markdown li+li{margin-top:6px}.work-markdown a{color:var(--blue);text-underline-offset:.22em;font-weight:650;text-decoration:underline;text-decoration-thickness:1px}.work-markdown a:hover{color:var(--blue-deep)}.detail-action{color:#fff;background:var(--blue);border-radius:999px;align-items:center;gap:18px;width:max-content;min-height:52px;margin-top:30px;padding:0 22px;font-size:.84rem;font-weight:650;transition:transform .18s,background .18s;display:inline-flex}.detail-action:hover{background:var(--blue-deep);transform:translateY(-2px)}.detail-pager{border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light);grid-template-columns:1fr 1fr;display:grid}.detail-pager>a{flex-direction:column;justify-content:center;min-width:0;min-height:110px;padding:20px 30px 20px 0;display:flex}.detail-pager>a:last-child{text-align:right;border-left:1px solid var(--line-light);align-items:flex-end;padding:20px 0 20px 30px}.detail-pager span{color:var(--blue);letter-spacing:.15em;margin-bottom:9px;font-size:.74rem;font-weight:700}.detail-pager strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.88rem;font-weight:520;overflow:hidden}.related-section{padding-top:100px}.related-section__heading{justify-content:space-between;align-items:end;margin-bottom:38px;display:flex}.related-section__heading h2{letter-spacing:-.04em;margin:0;font-size:2rem;font-weight:560}.related-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.related-item>div{aspect-ratio:16/10;border:1px solid var(--line-light);background:var(--paper-deep);margin-bottom:15px;position:relative;overflow:hidden}.related-item>div.is-portrait{background:radial-gradient(circle at 50% 38%,#0066ff1f,#0000 58%),#e7edf5}.related-item img{transition:transform .5s}.related-item:hover img{transform:scale(1.035)}.related-item>span{color:var(--blue);letter-spacing:.12em;font-size:.74rem;font-weight:700}.related-item h3{margin:6px 0 0;font-size:.96rem;font-weight:560}.article-main-image{object-fit:cover;width:100%;height:auto}.article-body{border-bottom:1px solid var(--line-light);padding:62px 0 76px}.article-body p{color:#07111fb8;margin:0 0 28px;font-size:.96rem;line-height:2.15}.article-body p:last-child{margin-bottom:0}.article-gallery{grid-template-columns:repeat(2,1fr);gap:20px;padding:70px 0;display:grid}.article-gallery img{width:100%;height:auto}.mission-section{border-bottom:1px solid var(--line-light);grid-template-columns:.55fr 1.45fr;gap:70px;padding-bottom:120px;display:grid}.mission-section h2{letter-spacing:-.05em;max-width:880px;margin:-8px 0 0;font-size:clamp(2rem,3.6vw,4rem);font-weight:550;line-height:1.4}.company-info-section{border-bottom:0;padding:120px 0 0}.profile-content .company-info-section{padding-top:0}.profile-section-heading{grid-template-columns:.55fr 1.45fr;gap:70px;margin-bottom:60px;display:grid}.profile-section-heading h2{letter-spacing:-.045em;margin:-8px 0 0;font-size:2.5rem;font-weight:560}.company-info-list{border-top:1px solid var(--line-light)}.company-info-list>div{border-bottom:1px solid var(--line-light);grid-template-columns:.55fr 1.45fr;gap:70px;padding:27px 0;display:grid}.company-info-list dt{color:#07111f85;font-size:.78rem}.company-info-list dd{margin:0;font-size:.92rem;line-height:1.8}.contact-layout{width:min(1100px,var(--shell));grid-template-columns:.72fr 1.28fr;gap:100px;margin-inline:auto;display:grid}.contact-layout aside h2{letter-spacing:-.05em;margin:26px 0 25px;font-size:clamp(2rem,3.2vw,3.45rem);font-weight:550;line-height:1.35}.contact-layout aside>p:not(.detail-label){color:#07111f9e;margin:0;font-size:.92rem;line-height:2}.contact-notice{border-top:1px solid var(--line-light);color:#a26000;gap:12px;margin-top:45px;padding-top:22px;display:flex}.contact-notice p{margin:0;font-size:.78rem;line-height:1.7}.contact-form{gap:30px;display:grid}.form-field label,.form-label{color:#07111fa8;margin:0 0 10px;font-size:.78rem;display:block}.form-field label span,.form-label span{color:var(--blue)}.form-field input,.form-field textarea{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;border-bottom:1px solid #07111f38;border-radius:0;outline:none;padding:14px 0;font-size:.95rem;transition:border-color .18s}.form-field input:focus,.form-field textarea:focus{border-color:var(--blue)}.form-field textarea{resize:vertical;min-height:150px}.form-field input::placeholder,.form-field textarea::placeholder{color:#07111f4d}.turnstile-box{min-height:82px;padding:4px 0}.form-error,.form-help{color:#07111f85;margin:8px 0 0;font-size:.74rem}.form-error{color:#b42318}.contact-submit{color:#fff;background:var(--blue);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:14px;width:max-content;min-height:54px;padding:0 26px;font-weight:650;display:inline-flex}.contact-submit:disabled{opacity:.42;cursor:not-allowed}.contact-complete{text-align:center;place-items:center;min-height:780px;padding:130px 20px 80px;display:grid}.contact-complete>div{max-width:680px}.contact-complete svg{color:var(--blue);margin-bottom:28px}.contact-complete h1{letter-spacing:-.05em;margin:26px 0 22px;font-size:clamp(2.2rem,4vw,4rem);font-weight:560}.contact-complete>div>p:not(.section-kicker){color:#07111f99;margin:0;line-height:2}.glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0d;border:1px solid #ffffff1a}.glass-strong{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#042653f0;border:1px solid #ffffff1f}.text-gradient{color:#a9d5ff}#canvas-container{display:none}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--ink)}::-webkit-scrollbar-thumb{background:#ffffff38}.scrollbar-hide::-webkit-scrollbar{display:none}@media (max-width:960px){:root{--shell:min(100% - 40px,760px)}.site-header__inner{grid-template-columns:1fr auto;height:72px}.header-contact,.site-nav{display:none}.menu-button{display:block}.mobile-nav{width:var(--shell);background:#fffffffa;border-radius:28px;margin:8px auto 0;padding:12px 20px 24px;display:grid;box-shadow:0 16px 40px #062b5e24}.mobile-nav a{border-bottom:1px solid var(--line-light);color:var(--ink);justify-content:space-between;padding:15px 2px;font-size:.85rem;display:flex}.hero,.hero__inner{min-height:780px}.hero__inner{padding-top:155px}.hero__title{font-size:clamp(2.8rem,6.8vw,4.6rem)}.hero__capabilities{grid-template-columns:repeat(6,1fr)}.hero__capabilities-heading{display:none!important}.hero__capabilities div{justify-content:center}.section-intro{grid-template-columns:1fr 2.2fr}.section-intro__body{grid-column:2}.service-row{grid-template-columns:40px 35px 1fr;padding:28px 0}.service-row__number{padding-top:4px}.service-row__description{grid-column:3}.process-block{margin-inline:0;padding-inline:7vw}.portfolio-heading{grid-template-columns:1fr 1fr;gap:44px}.featured-works{grid-template-columns:1.2fr 1fr}.featured-work:last-child{grid-column:1/-1}.featured-work:last-child .featured-work__image{aspect-ratio:16/7}.portfolio-page__intro{grid-template-columns:.65fr 1.35fr}.portfolio-page__intro span{grid-column:2}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-layout{grid-template-columns:1fr;gap:55px}.contact-band{grid-template-columns:1fr;gap:45px}.company-info-list>div,.mission-section,.profile-section-heading,.work-detail-copy{grid-template-columns:.55fr 1.45fr;gap:40px}.contact-layout{grid-template-columns:.8fr 1.2fr;gap:60px}}@media (max-width:640px){:root{--shell:calc(100vw - 32px)}.brand-mark strong{font-size:.82rem}.hero{height:100svh;min-height:800px}.hero__inner{min-height:800px;padding-top:142px}.hero-grid{background-size:56px 56px}.hero-photo{background-image:linear-gradient(90deg,#0066fffa,#0066ffe6 50%,#0052d26b),linear-gradient(#004dc714,#004dc73d),url(/images/hero-software-blue.png);background-position:68%}.hero__eyebrow{letter-spacing:.08em;font-size:.73rem}.hero__title{margin-top:34px;font-size:clamp(2.55rem,11.4vw,3rem);line-height:1.08}.hero__bottom{margin-top:28px}.hero__bottom>p{font-size:.86rem;line-height:1.85}.hero__actions{flex-direction:column;align-items:stretch;gap:2px;margin-top:22px}.button--primary{width:100%}.button--primary,.button--text{justify-content:space-between}.hero__capabilities{grid-template-columns:repeat(2,1fr)}.hero__capabilities div{border-bottom:1px solid var(--line-dark);letter-spacing:.04em;text-align:center;align-items:center;gap:6px;min-height:58px;padding-inline:10px;font-size:.78rem}.hero__capability-number{font-size:.73rem}.hero__scroll{display:none}.business-section{padding-top:100px}.section-intro{grid-template-columns:1fr;gap:35px;margin-bottom:76px}.contact-band h2,.process-block h2,.section-intro h2,.works-heading h2{margin-top:0;font-size:2.55rem}.section-intro__body{grid-column:auto}.service-row{grid-template-columns:32px 1fr;gap:15px}.service-row__number{grid-area:1/1}.service-row__icon{display:none}.service-row>div,.service-row__description{grid-column:2}.process-block{grid-template-columns:1fr;gap:12px;margin-top:100px;padding-top:75px;padding-bottom:75px}.process-block>p{margin-top:20px}.process-line{grid-template-columns:1fr 1fr;gap:32px 0;margin-top:40px}.portfolio-link-section{padding:100px 0}.portfolio-heading{grid-template-columns:1fr;gap:28px;margin-bottom:46px}.portfolio-heading h2{font-size:2.55rem}.portfolio-heading>p br{display:none}.featured-works{grid-template-columns:1fr;gap:34px}.featured-work:last-child{grid-column:auto}.featured-work:first-child .featured-work__image,.featured-work:last-child .featured-work__image{aspect-ratio:4/3}.portfolio-all-link{grid-template-columns:1fr 52px;gap:8px 16px;padding:20px 0}.portfolio-all-link strong,.portfolio-all-link>span:first-child{grid-column:1}.portfolio-all-link small{display:none}.portfolio-all-link__arrow{grid-area:1/2/span 2}.portfolio-link{grid-template-columns:minmax(0,1fr) 58px;gap:20px;min-height:220px;padding-inline:20px}.portfolio-link>p{grid-column:1}.portfolio-link__arrow{grid-area:1/2/span 2;width:58px;height:58px}.portfolio-page__hero{min-height:540px;padding:135px 0 65px}.portfolio-page__hero h1{margin:42px 0 75px;font-size:15.5vw}.portfolio-page__intro{grid-template-columns:1fr;gap:18px}.portfolio-page__intro span{grid-column:auto;margin-top:10px}.works-section{padding:100px 0}.works-section--archive{padding-top:70px}.works-heading{grid-template-columns:1fr;gap:30px;margin-bottom:45px}.works-grid{grid-template-columns:1fr;gap:28px}.work-item{border-radius:18px;min-height:0}.work-item__image{aspect-ratio:16/10}.work-item__body{padding:22px 20px 20px}.work-item__meta>p{margin-top:15px}.work-item__detail{margin-top:22px}.news-section{padding-top:95px;padding-bottom:80px}.news-layout{padding-bottom:100px}.news-list a{grid-template-columns:65px 1fr 20px;gap:12px;padding:18px 0}.news-list span{display:none}.contact-band{border-radius:28px;min-height:460px;margin-inline:0;padding:65px 24px}.site-footer__top{padding-bottom:65px}.site-footer nav,.site-footer__bottom,.site-footer__top{grid-template-columns:1fr}.site-footer__bottom{gap:10px}.site-footer__bottom span:last-child,.site-footer__bottom span:nth-child(2){text-align:left}.subpage-hero{min-height:470px;padding:145px 0 64px}.subpage-back{margin-bottom:55px}.subpage-hero h1{margin-top:22px;font-size:3.25rem}.subpage-hero--article,.subpage-hero--work{min-height:500px}.subpage-hero--article h1,.subpage-hero--work h1{font-size:2.45rem;line-height:1.24}.contact-content,.detail-content,.profile-content{padding:75px 0 100px}.work-detail-image{aspect-ratio:4/3}.work-detail-image--portrait{aspect-ratio:9/16}.company-info-list>div,.mission-section,.profile-section-heading,.work-detail-copy{grid-template-columns:1fr;gap:25px}.work-detail-copy{padding:42px 0 70px}.detail-pager>a{min-height:100px;padding-right:16px}.detail-pager>a:last-child{padding-left:16px}.related-section{padding-top:75px}.related-section__heading{display:block}.related-section__heading h2{margin-top:18px}.related-grid{grid-template-columns:1fr;gap:38px}.article-body{padding:45px 0 55px}.article-gallery{grid-template-columns:1fr;padding:55px 0}.mission-section{padding-bottom:75px}.mission-section h2{margin-top:0;font-size:2.15rem}.company-info-section{padding:80px 0}.profile-section-heading{margin-bottom:40px}.profile-section-heading h2{margin:0;font-size:2.1rem}.company-info-list>div{gap:8px;padding:22px 0}.contact-layout{grid-template-columns:1fr;gap:70px}.contact-layout aside h2{font-size:2.45rem}.contact-submit{justify-content:center;width:100%}.section-kicker{font-size:.8rem}.brand-mark small{font-size:.74rem;line-height:1.35}.mobile-nav a{font-size:.95rem}.hero__eyebrow{font-size:.7rem}.contact-band>div:last-child>p,.contact-layout aside>p:not(.detail-label),.hero__bottom>p,.portfolio-heading>p,.process-block>p,.section-intro__body,.service-row__description,.subpage-hero>.section-shell>p,.works-heading>p{font-size:1rem}.button,.contact-band a{font-size:.95rem}.detail-label,.detail-pager span,.featured-work__meta p,.portfolio-all-link small,.portfolio-all-link>span:first-child,.process-line span,.related-item>span,.service-row>div>p,.service-row__number,.work-item__meta span{font-size:.74rem}.service-row h3{font-size:1.4rem}.process-line small{font-size:.76rem}.process-line strong{font-size:.95rem}.featured-work__meta h3,.portfolio-all-link strong{font-size:1.05rem}.works-filter button{font-size:.88rem}.works-filter button span{font-size:.72rem}.work-item__meta h3{font-size:1.28rem;line-height:1.45}.work-item__meta>p{font-size:.96rem;line-height:1.85}.news-list time{font-size:.8rem}.news-list strong{font-size:.92rem}.site-footer__top>div>p{font-size:.95rem}.site-footer nav a{font-size:.92rem}.site-footer__bottom{font-size:.76rem;line-height:1.6}.article-meta time,.subpage-back{font-size:.82rem}.article-meta span{font-size:.74rem}.article-body p,.work-markdown{font-size:1rem}.detail-pager strong{font-size:.95rem}.related-item h3{font-size:1.05rem}.company-info-list dt{font-size:.86rem}.company-info-list dd{font-size:1rem}.contact-notice p,.form-label{font-size:.86rem}.contact-form input,.contact-form textarea{font-size:1rem}.form-error{font-size:.82rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@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-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@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-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@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-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}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}