/*! tailwindcss v4.3.3 | 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-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@font-face{font-family:Syne;src:url(../fonts/Syne-var.woff2)format("woff2");font-weight:600 800;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(../fonts/Manrope-var.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:DM Mono;src:url(../fonts/DMMono-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:DM Mono;src:url(../fonts/DMMono-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@layer theme{:root,:host{--font-sans:"Manrope", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--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-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-xl:.75rem;--ease-in-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-heading:"Syne", sans-serif;--color-bg-site:var(--paper);--color-text-main:var(--ink);--color-text-muted:var(--muted);--color-body-text:var(--body-text);--color-border-main:var(--line);--color-brand-primary:var(--blue);--color-card-bg:var(--white);--color-card-border:var(--line)}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-webkit-text-decoration:inherit;-webkit-text-decoration: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:where(:not(iframe)){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{.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.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}}.m-0{margin:0}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.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)}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[45\%\]{max-width:45%}.max-w-md{max-width:var(--container-md)}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.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-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-14>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 14) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 14) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border-main>:not(:last-child)){border-color:var(--color-border-main)}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-border-main{border-color:var(--color-border-main)}.border-brand-primary\/40{border-color:var(--color-brand-primary)}@supports (color:color-mix(in lab, red, red)){.border-brand-primary\/40{border-color:color-mix(in oklab, var(--color-brand-primary) 40%, transparent)}}.border-card-border{border-color:var(--color-card-border)}.bg-bg-site{background-color:var(--color-bg-site)}.bg-card-bg{background-color:var(--color-card-bg)}.p-0{padding:0}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-0{padding-top:0}.pt-8{padding-top:calc(var(--spacing) * 8)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-heading{font-family:var(--font-heading)}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--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))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.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-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-body-text{color:var(--color-body-text)}.text-brand-primary{color:var(--color-brand-primary)}.text-text-main{color:var(--color-text-main)}.text-text-muted{color:var(--color-text-muted)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-0{opacity:0}.opacity-100{opacity:1}.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-200{--tw-duration:.2s;transition-duration:.2s}.duration-250{--tw-duration:.25s;transition-duration:.25s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media (hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:text-brand-primary:is(:where(.group):hover *){color:var(--color-brand-primary)}.group-hover\:underline:is(:where(.group):hover *){text-decoration-line:underline}.hover\:border-brand-primary\/40:hover{border-color:var(--color-brand-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-brand-primary\/40:hover{border-color:color-mix(in oklab, var(--color-brand-primary) 40%, transparent)}}.hover\:bg-black\/2:hover{background-color:#00000005}@supports (color:color-mix(in lab, red, red)){.hover\:bg-black\/2:hover{background-color:color-mix(in oklab, var(--color-black) 2%, transparent)}}.hover\:text-brand-primary:hover{color:var(--color-brand-primary)}}@media (width>=48rem){.md\:max-w-xl{max-width:var(--container-xl)}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}.md\:items-start{align-items:flex-start}.md\:gap-12{gap:calc(var(--spacing) * 12)}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:px-12{padding-inline:calc(var(--spacing) * 12)}.md\:py-10{padding-block:calc(var(--spacing) * 10)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (width>=64rem){.lg\:sticky{position:sticky}.lg\:top-28{top:calc(var(--spacing) * 28)}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}}:root{--paper:#f5f4f0;--ink:#171817;--body-text:#43463f;--muted:#5c5f59;--line:#d9d9d3;--blue:#2457d6;--blue-hover:#1744b5;--sage:#aab2a3;--white:#fffefa;--ink-bg:#121312;--ink-bg-card:#0d0e0d;--ink-line:#ffffff14;--ink-muted:#9ca3af;--ink-blue:#8fa9f2;--font-sans:"Manrope", sans-serif;--font-heading:"Syne", sans-serif;--font-mono:"DM Mono", monospace;--type-display:clamp(2.75rem, 5.4vw, 4.75rem);--type-section:clamp(1.9rem, 3.2vw, 2.75rem);--type-body:.95rem;--type-label:11px;--ease:cubic-bezier(.16, 1, .3, 1)}:root[data-theme=dark]{--paper:#111412;--ink:#f3f5f3;--body-text:#c1c9c2;--muted:#929e95;--line:#2d3530;--white:#1a201c;--sage:#29382f;--blue:#4d78ff;--blue-hover:#789aff;--ink-bg:#0b0e0c;--ink-bg-card:#080a09;--ink-line:#ffffff1a;--ink-blue:#a8baff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--paper);color:var(--body-text);font-family:var(--font-sans);transition:background-color .45s var(--ease), color .45s var(--ease);margin:0;line-height:1.6}.site-shell,.site-shell main,.site-shell section,.site-shell article,.site-shell header{transition:background-color .45s var(--ease), border-color .45s var(--ease), color .45s var(--ease)}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--blue);color:#fff}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--ink)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}.skip-link{z-index:100;background:var(--ink);color:var(--white);letter-spacing:.06em;text-transform:uppercase;transition:top .2s var(--ease);padding:12px 18px;font-size:12px;font-weight:700;position:absolute;top:-60px;left:16px}.skip-link:focus{top:16px}.nav-wrap{z-index:1000;pointer-events:none;width:100%;padding:1rem 1.5rem;position:fixed;top:0;left:0;right:0}.nav{pointer-events:auto;-webkit-backdrop-filter:blur(16px)saturate(180%);max-width:1120px;height:64px;transition:all .3s var(--ease);background:#f5f4f0b3;border:1px solid #fffc;border-radius:9999px;align-items:center;margin:0 auto;padding:0 1.5rem;display:flex;position:relative;box-shadow:0 8px 32px #0000000d,inset 0 1px 1px #ffffffe6}.nav-wrap--dark .nav{background:#1216149e;border-color:#fff3;box-shadow:0 10px 34px #0000003d,inset 0 1px 1px #ffffff24}.brand{white-space:nowrap;min-width:0;font-family:var(--font-heading);letter-spacing:.08em;color:var(--ink);flex-shrink:0;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.brand b{color:var(--blue)}.nav-wrap--dark .brand{color:#fff}.nav-wrap--dark .brand b,.nav-wrap--dark .brand-mark{color:var(--ink-blue)}.brand-mark{color:var(--blue);letter-spacing:0;border:1.5px solid;border-radius:4px;padding:3px 5px 3px 4px;font-size:12px;line-height:1}.nav-links{align-items:center;gap:6px;margin-left:auto;display:flex}.nav-links a{text-transform:uppercase;letter-spacing:.08em;color:var(--body-text);white-space:nowrap;transition:all .25s var(--ease);border-radius:9999px;flex-shrink:0;padding:8px 10px;font-size:11px;font-weight:800;line-height:1}.nav-links a:hover{color:var(--blue);background:#2457d614}.nav-wrap--dark .nav-links a{color:#fff}.nav-wrap--dark .nav-links a:hover{color:#fff;background:#8fa9f21f}.nav-links a[aria-current=page],.nav-links a.active{color:#fff;background:var(--blue)}.nav-wrap--dark .nav-links a[aria-current=page],.nav-wrap--dark .nav-links a.active{color:#fff;background:#8fa9f22e}.nav-cta{min-height:38px;color:var(--blue);border:1.5px solid var(--blue);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:all .25s var(--ease);border-radius:9999px;flex-shrink:0;align-items:center;gap:6px;margin-left:14px;margin-right:18px;padding:0 16px;font-size:11px;font-weight:800;display:flex}.nav-cta:hover{background:var(--blue);color:#fff;transform:translateY(-1px);box-shadow:0 4px 14px #2457d64d}.nav-wrap--dark .nav-cta{color:#b9c8ff;border-color:#8fa9f2}.nav-wrap--dark .nav-cta:hover{color:#121312;background:#8fa9f2}.theme-toggle,.mobile-theme-toggle{border:1px solid var(--line);color:var(--body-text);cursor:pointer;transition:background-color .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease), transform .3s var(--ease);background:#ffffff73;justify-content:center;align-items:center;display:inline-flex}.theme-toggle{border-radius:50%;flex-shrink:0;width:32px;height:32px;margin-left:10px}.theme-toggle:hover,.mobile-theme-toggle:hover{border-color:var(--blue);color:var(--blue);background:#2457d61a;transform:translateY(-1px)}.mobile-theme-toggle{display:none}.theme-dark #services,.theme-dark #process,.theme-dark .process-section{background:var(--paper);border-color:var(--line)}.theme-dark .process-step-number{background:var(--paper)}.theme-dark .hero-portrait-frame{box-shadow:14px 18px 0 #00000038, 0 0 0 1px var(--line);background:linear-gradient(155deg,#3b493f,#26332b)}.theme-dark .visual-card{background:#1a201cf0;border-color:#3a463e;box-shadow:8px 12px 25px #00000047}.theme-dark .solid,.theme-dark .about-cta,.theme-dark .footer-cta-btn,.theme-dark .mobile-cta{background:var(--blue);color:#fff;box-shadow:0 5px 16px #4d78ff47}.theme-dark .solid:hover,.theme-dark .about-cta:hover,.theme-dark .footer-cta-btn:hover,.theme-dark .mobile-cta:hover{background:var(--blue-hover);color:#fff;box-shadow:0 7px 20px #4d78ff61}.theme-dark .about-avatar{color:#101411}.theme-dark .nav .theme-toggle,.nav-wrap--dark .theme-toggle{color:#d9e3dc;background:#1216148c;border-color:#ffffff38}.theme-dark .nav,.nav-wrap--dark .nav{background:#121614ad;border-color:#8fa9f26b;box-shadow:0 10px 34px #0000004d,inset 0 1px 1px #ffffff1a}.theme-dark .brand{color:#fff}.theme-dark .brand b,.theme-dark .brand-mark{color:var(--blue)}.theme-dark .brand-mark{border-color:var(--blue)}.theme-dark .nav-links a{color:#fff}.theme-dark .nav-links a:hover{color:#fff;background:#8fa9f22e}.theme-dark .nav-links a[aria-current=page],.theme-dark .nav-links a.active{color:#fff;background:var(--blue)}.theme-dark .nav-cta{background:var(--blue);color:#fff;border-color:#0000;box-shadow:0 5px 16px #4d78ff47}.theme-dark .nav-cta:hover{background:var(--blue-hover);color:#fff;border-color:#0000;box-shadow:0 7px 20px #4d78ff61}.theme-dark .theme-toggle{color:#dbe3ff;background:#8fa9f21f;border-color:#9db4ff99}.theme-dark .theme-toggle:hover{border-color:var(--blue);color:#fff;background:#4d78ff3d}.menu-button,.mobile-menu{display:none}.hero-section{background-image:linear-gradient(90deg,#0000 49.95%,#1e1e1e09 50%,#0000 50.05%),linear-gradient(#1e1e1e06 1px,#0000 1px);background-size:100% 100%,100% 74px;max-width:1280px;margin:auto;padding:120px 82px 58px;position:relative}.hero-grid{grid-template-columns:1.1fr .8fr;align-items:center;gap:56px;padding:30px 0;display:grid}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;align-items:center;margin:0 0 15px;font-size:11px;font-weight:800;display:flex}.eyebrow i{background:var(--blue);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-right:8px;display:inline-block}.hero-copy h1{font-size:var(--type-display);letter-spacing:0;margin:0;font-weight:800;line-height:1.02}.hero-copy h1 em{color:var(--blue);font-style:normal}.role{font-family:var(--font-mono);letter-spacing:.12em;color:var(--ink);margin:18px 0;font-size:13px;font-weight:500}.rule{background:var(--ink);width:76px;height:2px;margin-bottom:22px;display:block}.intro{color:var(--body-text);max-width:480px;margin:22px 0 28px;font-size:1.05rem;line-height:1.75}.hero-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.button{text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--blue);min-height:46px;transition:transform .25s var(--ease), background-color .25s var(--ease), box-shadow .25s var(--ease);justify-content:center;align-items:center;gap:12px;padding:0 20px;font-size:11px;font-weight:800;display:inline-flex}.button:hover{transform:translateY(-2px);box-shadow:4px 6px 15px #00000014}.button:active{transform:translateY(0)}.solid{color:#fff;background:var(--blue);box-shadow:4px 4px #2457d629}.solid:hover{background:var(--blue-hover);transform:translate(-2px,-2px);box-shadow:7px 7px #2457d629}.solid:active{transform:translate(0);box-shadow:2px 2px #2457d621}.text-link{border-bottom:1px solid var(--ink);min-height:46px;color:var(--ink);letter-spacing:.04em;transition:color .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease);align-items:center;gap:7px;padding:0 2px 5px;font-size:11px;font-weight:700;display:inline-flex}.text-link svg{transition:transform .25s var(--ease)}.text-link:hover{color:var(--blue);border-color:var(--blue);transform:translateY(-1px)}.text-link:hover svg{transform:translate(2px,-2px)}.availability{align-items:center;gap:10px;margin-top:40px;display:flex}.availability-dot{background:#5f8a4f;border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 0 4px #5f8a4f26}.availability strong,.availability small{display:block}.availability strong{text-transform:uppercase;letter-spacing:.08em;color:var(--ink);font-size:11px}.availability small{color:var(--muted);margin-top:3px;font-size:11px}.hero-visual{justify-content:center;align-items:center;min-height:420px;display:flex;position:relative}.hero-portrait-frame{z-index:2;aspect-ratio:4/5;width:100%;max-width:340px;box-shadow:14px 18px 0 #1718170f, 0 0 0 1px var(--line);background:linear-gradient(155deg,#dfe2d9,#b9c2b3);border-radius:4px;position:relative;overflow:hidden}.hero-portrait-frame img{object-fit:cover;width:100%;height:100%}.hero-portrait-frame .portrait-fallback{color:#fff;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.hero-portrait-frame .portrait-fallback span{font-family:var(--font-heading);letter-spacing:0;font-size:4rem}.hero-portrait-frame .portrait-fallback small{font-family:var(--font-mono);letter-spacing:.2em;margin-top:12px;font-size:10px}.visual-card{z-index:4;border:1px solid var(--line);background:#fffefaf0;min-width:148px;padding:13px 15px;position:absolute;box-shadow:8px 12px 25px #00000012}.visual-card span{color:var(--blue);font:10px var(--font-mono);margin-right:8px}.visual-card b{letter-spacing:.08em;color:var(--ink);font-size:10px}.visual-card small{color:var(--muted);margin:7px 0 0 22px;font-size:9px;display:block}.card-top{top:36px;left:-18px}.card-bottom{bottom:40px;right:-18px}.social-rail{flex-direction:column;gap:16px;margin-top:42px;display:flex}.social-rail a{color:var(--muted);transition:color .2s var(--ease);letter-spacing:.04em;align-items:center;gap:8px;font-size:11px;font-weight:700;display:inline-flex}.social-rail a:hover{color:var(--blue)}.section-wrap{max-width:1280px;margin:auto;padding:88px 44px}.route-breadcrumb{max-width:1280px;color:var(--muted);margin:0 auto;padding:104px 44px 0;font-size:11px}.route-page-header{padding-top:52px}.route-page-title{max-width:760px;color:var(--ink);font-family:var(--font-heading);font-size:var(--type-section);letter-spacing:0;margin:0;font-weight:800;line-height:1.1}.route-page-title--detail{font-size:clamp(2rem,4vw,3.6rem)}.route-page-intro{max-width:640px;color:var(--muted);font-size:var(--type-body);margin:20px 0 0;line-height:1.75}.route-page-intro--detail{max-width:680px;margin-top:16px}.route-not-found{min-height:520px;padding-top:128px;padding-bottom:128px}.work-section{border-top:1px solid var(--line)}.section-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:32px;padding-bottom:26px;display:flex}.section-head .eyebrow{color:var(--blue);margin-bottom:8px}.section-head h2{font-size:var(--type-section);letter-spacing:0;margin:0;font-weight:800;line-height:1.15}.featured-work-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:26px;padding-bottom:28px;display:flex}.featured-work-heading .eyebrow{color:var(--blue);margin-bottom:10px}.featured-work-heading h2{color:var(--ink);font-family:var(--font-heading);font-size:var(--type-section);letter-spacing:0;margin:0;font-weight:800;line-height:1}.featured-work-heading p{max-width:460px;color:var(--muted);margin:14px 0 0;font-size:.9rem;line-height:1.7}.featured-work-all,.featured-project-link{color:var(--ink);letter-spacing:.06em;text-transform:uppercase;transition:color .2s var(--ease), transform .2s var(--ease);align-items:center;gap:8px;font-size:11px;font-weight:800;display:inline-flex}.featured-work-all{border-bottom:1px solid var(--ink);white-space:nowrap;padding-bottom:8px}.featured-work-all:hover,.featured-project-link:hover{color:var(--blue)}.featured-work-all:hover{transform:translate(3px)}.featured-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.featured-project-card{border:1px solid var(--line);background:var(--white);min-height:292px;transition:border-color .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease);border-radius:10px;flex-direction:column;padding:24px;display:flex}.featured-project-card:hover{border-color:#2457d661;transform:translateY(-3px);box-shadow:0 14px 30px #1718170f}.featured-project-topline{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:22px;padding-bottom:16px;display:flex}.featured-project-number,.featured-project-status,.featured-project-kicker{font-family:var(--font-mono);text-transform:uppercase}.featured-project-number{color:var(--blue);font-size:10px;font-weight:500}.featured-project-status{color:var(--muted);letter-spacing:.05em;font-size:9px}.featured-project-live{color:var(--muted);transition:color .2s var(--ease), transform .2s var(--ease);margin-left:auto;display:inline-flex}.featured-project-live:hover{color:var(--blue);transform:translate(2px,-2px)}.featured-project-body{flex:1;padding:22px 0 18px}.featured-project-kicker{color:var(--blue);letter-spacing:.05em;margin:0 0 8px;font-size:9px;font-weight:500}.featured-project-body h3{color:var(--ink);font-family:var(--font-heading);letter-spacing:0;margin:0;font-size:1.3rem;font-weight:700;line-height:1.15}.featured-project-summary{color:var(--muted);margin:14px 0 0;font-size:.82rem;line-height:1.7}.featured-project-stack{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.featured-project-stack span{border:1px solid var(--line);background:var(--paper);color:var(--body-text);font-family:var(--font-mono);border-radius:3px;padding:5px 8px;font-size:9px}.featured-project-link{color:var(--blue);font-family:var(--font-mono);text-transform:none;align-self:flex-start}.featured-project-link svg{transition:transform .2s var(--ease)}.featured-project-link:hover svg{transform:translate(3px)}.diagram-figure{margin:0}.diagram-scroll{border:1px solid var(--line);background:var(--white);padding:12px;overflow-x:auto}.diagram-svg{display:block}.diagram-lane-label{font:700 9px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;fill:var(--muted)}.diagram-node{fill:var(--paper);stroke:var(--line);stroke-width:1.25px}.diagram-node.is-accent{fill:#2457d60f;stroke:var(--blue)}.diagram-node-label{font:700 10.5px var(--font-sans);fill:var(--ink)}.diagram-node-sub{font:9px var(--font-mono);fill:var(--muted)}.diagram-edge{fill:none;stroke:var(--sage);stroke-width:1.5px}.diagram-edge.is-dashed{stroke-dasharray:3 3;stroke:var(--muted)}.diagram-edge.is-back{stroke:var(--blue);opacity:.55}.diagram-arrowhead{fill:var(--sage)}.diagram-caption{color:var(--muted);font-size:12px;font-family:var(--font-mono);margin-top:10px}#services,#process{background:var(--paper);border-color:var(--line)}.process-section{border-top:1px solid var(--line);background:var(--paper)}.process-inner{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:96px;max-width:1280px;margin:0 auto;padding:96px 44px;display:grid}.process-eyebrow{color:var(--blue);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px;font-size:11px;font-weight:500;display:block}.process-steps-column>h2{max-width:650px;color:var(--ink);font-family:var(--font-heading);font-size:var(--type-section);letter-spacing:0;margin:0;font-weight:800;line-height:1.05}.process-intro{max-width:560px;color:var(--muted);margin:18px 0 52px;font-size:.95rem;line-height:1.75}.process-list{flex-direction:column;gap:34px;margin:0;padding:0 0 0 48px;list-style:none;display:flex;position:relative}.process-list:before{background:var(--line);content:"";width:1px;position:absolute;top:16px;bottom:16px;left:14px}.process-step{grid-template-columns:1fr;gap:8px;display:grid;position:relative}.process-step-number{z-index:1;border:1px solid var(--line);background:var(--paper);width:30px;height:30px;color:var(--blue);font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:500;display:inline-flex;position:absolute;top:0;left:-48px}.process-step-content h3,.principles-column>h3,.principle-item h4{color:var(--ink);font-family:var(--font-heading);margin:0;font-weight:700}.process-step-content h3{letter-spacing:0;font-size:1rem}.process-step-content p,.principle-item p{color:var(--muted);margin:8px 0 0;font-size:.87rem;line-height:1.75}.principles-column{padding-top:2px}.principles-column>h3{letter-spacing:0;max-width:360px;margin-bottom:32px;font-size:1.45rem;line-height:1.2}.principles-list{border-top:1px solid var(--line)}.principle-item{border-bottom:1px solid var(--line);padding:18px 0 20px}.principle-item h4{letter-spacing:0;font-size:.92rem}.testimonials-section{isolation:isolate;background:var(--paper);color:var(--ink);padding:96px 0;position:relative}.testimonials-inner{max-width:1280px;margin:0 auto;padding:0 44px}.testimonials-intro{margin-bottom:38px}.testimonials-heading-row{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.testimonials-intro h2{color:var(--ink);font-family:var(--font-heading);font-size:var(--type-section);letter-spacing:0;margin:0;font-weight:800;line-height:1.1}.testimonials-grid{animation:testimonial-page-in .45s var(--ease) both;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.testimonials-controls{flex-shrink:0;gap:12px;display:flex}.testimonials-arrow{cursor:pointer;width:48px;height:48px;transition:transform .2s var(--ease), background-color .2s var(--ease), color .2s var(--ease), opacity .2s var(--ease);border:1px solid #b4d3bf47;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.testimonials-arrow--previous{background:var(--white);color:var(--blue)}.testimonials-arrow--next{border-color:var(--blue);background:var(--blue);color:#fff}.testimonials-arrow:not(:disabled):hover{transform:translateY(-2px)}.testimonials-arrow--previous:not(:disabled):hover{background:#2457d614}.testimonials-arrow--next:not(:disabled):hover{background:var(--blue-hover)}.testimonials-arrow:disabled{cursor:default;opacity:.35}.testimonial-card{border:1px solid var(--line);background:var(--white);min-height:242px;color:var(--ink);margin:0;padding:28px 30px 25px}.testimonial-quote-icon{color:var(--blue);margin-bottom:18px}.testimonial-quote{max-width:520px;color:var(--body-text);font-family:var(--font-sans);margin:0;font-size:.95rem;font-weight:500;line-height:1.75}@keyframes testimonial-page-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.testimonial-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:20px;margin-top:34px;padding-top:18px;display:flex}.testimonial-footer div{flex-direction:column;gap:3px;display:flex}.testimonial-footer cite,.testimonial-footer span,.testimonial-footer strong{letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-style:normal}.testimonial-footer cite{font-weight:800}.testimonial-footer span{color:var(--muted)}.testimonial-footer strong{max-width:180px;color:var(--blue);text-align:right}.about-section{border-top:1px solid var(--line);background:var(--paper);padding:96px 0}.about-inner{grid-template-columns:300px 1fr;align-items:start;gap:80px;max-width:1280px;margin:auto;padding:0 44px;display:grid}.about-sidebar{flex-direction:column;gap:20px;display:flex;position:sticky;top:108px}.about-identity{align-items:center;gap:14px;display:flex}.about-avatar{background:var(--blue);color:#fff;width:52px;height:52px;font-family:var(--font-heading);letter-spacing:.06em;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.about-identity-name{font-family:var(--font-heading);letter-spacing:.05em;color:var(--ink);margin:0;font-size:15px;font-weight:800}.about-identity-role{font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);margin:3px 0 0;font-size:11px}.about-avail-badge{letter-spacing:.06em;color:#4a7a3d;background:#5f8a4f1a;border:1px solid #5f8a4f40;align-items:center;gap:8px;padding:7px 12px;font-size:10.5px;font-weight:700;line-height:1.4;display:inline-flex}.about-avail-dot{background:#5f8a4f;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2.4s ease-in-out infinite pulse-dot;display:inline-block;box-shadow:0 0 0 3px #5f8a4f33}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 3px #5f8a4f33}50%{box-shadow:0 0 0 5px #5f8a4f0d}}.about-meta-row{color:var(--muted);align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex}.about-stats{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:4px;display:grid}.about-stat{background:var(--paper);text-align:center;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;display:flex}.about-stat-value{font-family:var(--font-heading);letter-spacing:0;color:var(--ink);font-size:1.35rem;font-weight:800;line-height:1}.about-stat-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:9.5px;font-weight:700}.about-cta{background:var(--blue);color:#fff;letter-spacing:.08em;text-transform:uppercase;transition:all .25s var(--ease);align-items:center;gap:9px;padding:13px 18px;font-size:11px;font-weight:800;display:inline-flex;box-shadow:4px 4px #2457d626}.about-cta:hover{transform:translate(-2px,-2px);box-shadow:7px 7px #2457d626}.about-github-link{font-family:var(--font-mono);color:var(--muted);letter-spacing:.04em;transition:color .2s var(--ease);text-underline-offset:3px;font-size:11px;text-decoration:underline}.about-github-link:hover{color:var(--blue)}.about-label-row{margin-bottom:18px}.about-heading{font-family:var(--font-heading);font-size:var(--type-section);letter-spacing:0;color:var(--ink);margin:0 0 32px;font-weight:800;line-height:1.1}.about-narrative{color:var(--body-text);border-left:2px solid var(--line);flex-direction:column;gap:18px;padding-left:24px;font-size:.95rem;line-height:1.8;display:flex}.about-narrative p{margin:0}.about-skills-block{border-top:1px solid var(--line);margin-top:40px;padding-top:32px}.about-skills-label{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;font-size:10px;font-weight:800}.about-skills-tags{flex-wrap:wrap;gap:8px;display:flex}.about-skill-tag{font-family:var(--font-mono);color:var(--ink);background:var(--white);border:1px solid var(--line);letter-spacing:.04em;transition:background .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease);padding:5px 11px;font-size:10.5px;font-weight:500}.about-skill-tag:hover{color:var(--blue);background:#2457d60f;border-color:#2457d64d}.footer-root{font-family:var(--font-sans);background:var(--ink-bg);color:#e5e7eb;position:relative}.footer-inner{max-width:1400px;margin:0 auto;padding:0 44px}.footer-cta-strip{background-image:linear-gradient(90deg,#ffffff08 1px,#0000 1px),linear-gradient(#ffffff08 1px,#0000 1px);background-size:60px 60px;padding:42px 0 52px;position:relative;overflow:hidden}.footer-intro-row{z-index:2;justify-content:space-between;align-items:center;gap:24px;margin-bottom:36px;display:flex;position:relative}.footer-mark-link{color:#fff;font-family:var(--font-heading);letter-spacing:.08em;align-items:center;gap:10px;font-size:14px;font-weight:800;display:inline-flex}.footer-mark-link .footer-brand-mark{color:var(--blue);border-color:var(--blue);letter-spacing:0;border-radius:4px;padding:3px 5px 3px 4px;font-size:12px;line-height:1}.footer-mark-link b{color:var(--blue)}.footer-intro-note{color:var(--ink-muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.footer-bg-glow{pointer-events:none;background:radial-gradient(circle,#2457d61f 0%,#0000 70%);width:500px;height:500px;position:absolute;top:-20%;left:20%}.footer-cta-grid{z-index:2;grid-template-columns:260px minmax(0,1fr);align-items:start;gap:28px 88px;display:grid;position:relative}.footer-directory{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.footer-directory .footer-intro-note{margin-top:12px;line-height:1.6}.footer-directory-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;width:100%;margin-top:38px;display:grid}.footer-directory-nav a{color:var(--ink-muted);letter-spacing:.06em;text-transform:uppercase;transition:color .2s var(--ease), transform .2s var(--ease);font-size:11px;font-weight:700}.footer-directory-nav a:hover{color:#fff;transform:translate(3px)}.footer-directory-caption{color:#687174;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin-top:auto;padding-top:34px;font-size:9px}.footer-eyebrow{color:var(--blue);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px;font-size:11px;font-weight:500;display:block}.footer-status-pill{color:var(--ink-blue);letter-spacing:.08em;text-transform:uppercase;background:#2457d61a;border:1px solid #2457d640;border-radius:9999px;align-items:center;gap:8px;margin-bottom:24px;padding:6px 14px;font-size:11px;font-weight:700;display:inline-flex}.footer-status-dot{background:#3b82f6;border-radius:50%;width:6px;height:6px;animation:2s infinite footerDotPulse;box-shadow:0 0 8px #3b82f6}@keyframes footerDotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.footer-headline{font-family:var(--font-heading);letter-spacing:0;color:#fff;max-width:900px;margin:0 0 20px;font-size:clamp(2.5rem,4.4vw,4.4rem);font-weight:800;line-height:1.05}.footer-headline-line{display:block;overflow:hidden}.footer-headline-word{opacity:1;display:inline-block;transform:translateY(0)}.footer-root--visible .footer-headline-word{opacity:0;animation:footer-word-rise .7s var(--ease) forwards;transform:translateY(105%)}.footer-headline-word:first-child{animation-delay:80ms}.footer-headline-word:nth-child(2){animation-delay:.16s}.footer-headline-word:nth-child(3){animation-delay:.24s}.footer-headline-line--accent .footer-headline-word:first-child{animation-delay:.34s}.footer-headline-line--accent .footer-headline-word:nth-child(2){animation-delay:.42s}.footer-headline-line--accent .footer-headline-word:nth-child(3){animation-delay:.5s}.footer-headline-line--accent{min-height:2.1em;overflow:hidden}.footer-headline-rotating{min-height:2.1em;animation:footer-phrase-change .65s var(--ease) both;display:block}@keyframes footer-phrase-change{0%{opacity:0;transform:translateY(55%)}to{opacity:1;transform:translateY(0)}}@keyframes footer-word-rise{to{opacity:1;transform:translateY(0)}}.footer-headline em{color:var(--blue);font-style:normal}.footer-sub{color:var(--ink-muted);max-width:480px;margin:0 0 22px;font-size:.95rem;line-height:1.7}.footer-email-action-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.footer-cta-btn{background:var(--blue);color:#fff;letter-spacing:.06em;text-transform:uppercase;transition:all .25s var(--ease);border-radius:12px;align-items:center;gap:12px;padding:14px 22px;font-size:12px;font-weight:800;display:inline-flex;box-shadow:0 4px 14px #2457d640}.footer-cta-btn:hover{background:var(--blue-hover);transform:translateY(-2px);box-shadow:0 8px 20px #2457d666}.footer-copy-btn{color:#e5e7eb;cursor:pointer;width:48px;height:48px;transition:all .2s var(--ease);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;justify-content:center;align-items:center;display:inline-flex;position:relative}.footer-copy-btn:hover{color:#fff;background:#ffffff1a;border-color:#fff3}.footer-copy-tooltip{color:#fff;pointer-events:none;opacity:0;white-space:nowrap;background:#000;border-radius:6px;padding:4px 8px;font-size:10px;font-weight:700;transition:opacity .2s;position:absolute;top:-36px;left:50%;transform:translate(-50%)}.footer-copy-btn:hover .footer-copy-tooltip{opacity:1}.footer-contact-list{flex-direction:column;gap:14px;display:flex}.footer-contact-list--wide{grid-column:2;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.footer-contact-item{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-height:62px;transition:all .25s var(--ease);background:#ffffff06;border:1px solid #ffffff12;border-radius:14px;align-items:center;gap:16px;padding:11px 16px;display:flex;position:relative;overflow:hidden}.footer-contact-item:not(.footer-contact-item--static):hover{background:#ffffff0d;border-color:#8fa9f24d;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.footer-contact-icon{width:34px;height:34px;color:var(--blue);background:#8fa9f214;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.footer-contact-details{flex:1}.footer-contact-copy{flex:1;min-width:0}.footer-contact-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:2px;font-size:10px;font-weight:800;display:block}.footer-contact-value{color:#fff;overflow-wrap:break-word;font-size:14px;font-weight:700;line-height:1.4;display:block}.footer-contact-arrow{color:#6b7280;transition:all .2s var(--ease);flex-shrink:0}.footer-contact-item:hover .footer-contact-arrow{color:var(--ink-blue);transform:translate(2px,-2px)}.footer-bottom-bar{background:var(--ink-bg-card);border-top:1px solid var(--ink-line);padding:16px 0}.footer-bottom-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;display:flex}.footer-bottom-role{color:#6b7280;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.footer-brand{align-items:center;gap:12px;text-decoration:none;display:flex}.footer-brand-mark{font-family:var(--font-heading);color:var(--blue);border:1.5px solid var(--blue);border-radius:6px;padding:4px 6px;font-size:11px;font-weight:800}.footer-brand-name{font-family:var(--font-heading);letter-spacing:.08em;color:#fff;font-size:13px;font-weight:800;display:block}.footer-brand-name b{color:var(--ink-blue)}.footer-brand-role{color:var(--ink-muted);font-size:10px;display:block}.footer-nav{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.footer-nav-link{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);transition:color .2s var(--ease);font-size:11px;font-weight:800}.footer-nav-link:hover{color:#fff}.footer-copy{color:#6b7280;white-space:nowrap;margin:0;font-size:11px}.scroll-top-btn{z-index:90;background:var(--blue);color:#fff;cursor:pointer;opacity:0;pointer-events:none;width:44px;height:44px;transition:all .25s var(--ease);border:none;border-radius:12px;justify-content:center;align-items:center;display:flex;position:fixed;bottom:28px;right:28px;transform:translateY(12px);box-shadow:0 6px 20px #2457d666}.scroll-top-btn--visible{opacity:1;pointer-events:auto;transform:translateY(0)}.scroll-top-btn:hover{background:var(--blue-hover);transform:translateY(-2px)}@media (width<=1040px){.nav{padding:0 1rem}.brand{gap:6px;font-size:13px}.nav-links{gap:4px}.nav-links a{padding:6px 8px;font-size:10px}.nav-cta{min-height:34px;margin-left:8px;margin-right:10px;padding:0 12px;font-size:10px}.theme-toggle{width:30px;height:30px;margin-left:6px}}@media (width<=900px){.nav-wrap{z-index:1000;pointer-events:none;padding:12px 16px;position:absolute;top:0;left:0;right:0}.nav{pointer-events:auto;border-radius:9999px;height:56px;padding:0 6px 0 18px}.nav-links,.nav-cta,.theme-toggle{display:none}.menu-button{z-index:1002;-webkit-backdrop-filter:blur(16px)saturate(180%);width:44px;height:44px;color:var(--ink);cursor:pointer;transition:transform .2s var(--ease), background-color .2s var(--ease);background:#f5f4f0f2;border:1px solid #ffffffe6;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:22px;transform:translateY(-50%);box-shadow:0 4px 14px #00000014;pointer-events:auto!important}.menu-button:active{transform:translateY(-50%)scale(.92)}.nav-wrap--dark .menu-button,.theme-dark .menu-button{color:#fff;background:#121614e6;border-color:#fff3}.mobile-menu{z-index:1001;-webkit-backdrop-filter:blur(20px);text-transform:uppercase;opacity:0;pointer-events:none;transform-origin:top;filter:blur(3px);transition:opacity .4s var(--ease), transform .5s var(--ease), filter .4s var(--ease);background:#f5f4f0f5;border:1px solid #ffffffe6;border-radius:20px;flex-direction:column;gap:14px;padding:26px 20px 22px;font-size:12px;font-weight:800;display:flex;position:fixed;top:76px;left:16px;right:16px;transform:translateY(-14px)scale(.97);box-shadow:0 16px 36px #0000001f}.mobile-menu--open{opacity:1;pointer-events:auto;filter:blur();transform:translateY(0)}.nav-wrap--dark .mobile-menu,.theme-dark .mobile-menu{color:#fff;background:#121614f5;border-color:#ffffff29}.mobile-menu a{opacity:0;transition:color .18s var(--ease), transform .35s var(--ease), opacity .35s var(--ease);display:block;transform:translateY(8px)}.mobile-menu--open a{opacity:1;transform:translateY(0)}.mobile-menu--open a:first-child{transition-delay:80ms}.mobile-menu--open a:nth-child(2){transition-delay:.12s}.mobile-menu--open a:nth-child(3){transition-delay:.16s}.mobile-menu--open a:nth-child(4){transition-delay:.2s}.mobile-menu--open a:nth-child(5){transition-delay:.24s}.mobile-menu--open a:nth-child(6){transition-delay:.28s}.mobile-menu--open a:nth-child(7){transition-delay:.32s}.mobile-menu--open .mobile-cta{transition-delay:.39s}.mobile-menu a:focus-visible{transform:translate(4px)}.mobile-menu a:hover{color:var(--blue);transform:translate(4px)}.mobile-menu a.active{color:var(--blue)}.mobile-theme-toggle{border-color:var(--line);letter-spacing:.08em;text-transform:uppercase;background:0 0;border-radius:10px;justify-content:flex-start;gap:10px;width:100%;min-height:40px;padding:0 12px;font-size:11px;font-weight:800;display:inline-flex}.mobile-cta{background:var(--blue);text-align:center;border-radius:12px;justify-content:center;align-items:center;margin-top:6px;padding:12px 18px;display:inline-flex;color:#fff!important}.section-wrap{padding:64px 20px}.route-breadcrumb{padding:24px 20px 0}.route-page-header{padding-top:40px}.route-page-title--detail{font-size:clamp(1.9rem,8vw,2.8rem)}.route-not-found{min-height:460px;padding-top:96px;padding-bottom:96px}.section-head{flex-direction:column;align-items:flex-start;gap:12px}.featured-work-head{flex-direction:column;align-items:flex-start;gap:20px}.featured-work-grid{grid-template-columns:1fr}.featured-project-card{min-height:0}.hero-section{padding:85px 20px 50px}.hero-grid{grid-template-columns:1fr;gap:32px}.hero-visual{order:-1;min-height:320px}.testimonials-inner{padding:0 20px}.testimonials-heading-row{align-items:flex-start;gap:16px}.testimonials-grid{grid-template-columns:1fr}.testimonials-controls{gap:8px}.testimonials-arrow{width:42px;height:42px}.testimonial-card{padding:24px}.hero-portrait-frame{max-width:260px}.card-top{top:10px;left:0}.card-bottom{bottom:10px;right:0}}@media (width<=1100px){.footer-inner{padding:0 24px}.footer-cta-grid{grid-template-columns:220px minmax(0,1fr);column-gap:56px}.footer-contact-list--wide{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.footer-intro-row{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:48px}.footer-cta-grid{flex-direction:column;grid-template-columns:1fr;gap:48px;display:flex}.footer-contact-list--wide{order:2;grid-column:auto;grid-template-columns:1fr}.footer-cta-left{order:1}.footer-directory{order:3}.footer-cta-strip{padding:70px 0 60px}.footer-headline{font-size:clamp(2rem,7vw,2.8rem)}.footer-bottom-inner{flex-direction:column;align-items:flex-start;gap:24px}.footer-copy{white-space:normal}.footer-nav{gap:18px;width:100%}.footer-inner{padding:0 20px}}@media (width<=520px){.footer-email-action-group{width:100%}.footer-cta-btn{flex:1;justify-content:center;padding:12px 16px;font-size:11px}.footer-contact-item{padding:14px 16px}.footer-contact-value{font-size:13px}.scroll-top-btn{width:40px;height:40px;bottom:20px;right:20px}}@media (width<=460px){.hero-actions{gap:15px}.button{padding:14px 15px;font-size:10.5px}}@media (width<=860px){.process-inner{grid-template-columns:1fr;gap:64px;padding:64px 20px}.process-intro{margin-bottom:40px}.about-section{padding:64px 0}.about-inner{grid-template-columns:1fr;gap:40px;padding:0 20px}.about-sidebar{gap:16px;position:static}.about-stats{grid-template-columns:repeat(3,1fr)}.about-heading{font-size:clamp(1.7rem,6vw,2.2rem)}.about-narrative{padding-left:16px;font-size:.9rem}}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@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}.site-shell{overflow:hidden}.page-transition{animation:page-enter .55s var(--ease) both}@keyframes page-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
