@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading: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-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:"Geist Variable", "Segoe UI", sans-serif;--font-mono:"Geist Mono Variable", Consolas, monospace;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--leading-snug:1.375;--leading-relaxed:1.625;--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);--radius:.5rem}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.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}}.m-0{margin:calc(var(--spacing) * 0)}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-20{margin-top:calc(var(--spacing) * 20)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.max-w-\[18ch\]{max-width:18ch}.max-w-\[46ch\]{max-width:46ch}.max-w-\[52ch\]{max-width:52ch}.max-w-\[62ch\]{max-width:62ch}.max-w-\[76rem\]{max-width:76rem}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.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-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-14{column-gap:calc(var(--spacing) * 14)}.gap-y-0{row-gap:calc(var(--spacing) * 0)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-6{row-gap:calc(var(--spacing) * 6)}.rounded-\[var\(--radius\)\]{border-radius:var(--radius)}.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}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-7{padding-block:calc(var(--spacing) * 7)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-14{padding-top:calc(var(--spacing) * 14)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-\[0\.9375rem\]{font-size:.9375rem}.text-\[1\.75rem\]{font-size:1.75rem}.text-\[1\.0625rem\]{font-size:1.0625rem}.text-\[1\.1875rem\]{font-size:1.1875rem}.text-\[2rem\]{font-size:2rem}.text-\[clamp\(2rem\,4\.5vw\,3\.25rem\)\]{font-size:clamp(2rem,4.5vw,3.25rem)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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-shadow{transition-property:box-shadow;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}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media(hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:text-\[color\:var\(--accent\)\]:is(:where(.group):hover *){color:var(--accent)}.group-hover\:shadow-\[var\(--lift\)\]:is(:where(.group):hover *){--tw-shadow:var(--lift);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:border-\[color\:var\(--accent\)\]:hover{border-color:var(--accent)}.hover\:text-\[color\:var\(--accent\)\]:hover{color:var(--accent)}.hover\:shadow-\[var\(--lift\)\]:hover{--tw-shadow:var(--lift);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media(min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.sm\:items-end{align-items:flex-end}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:text-right{text-align:right}.sm\:text-\[2rem\]{font-size:2rem}}@media(min-width:48rem){.md\:pt-20{padding-top:calc(var(--spacing) * 20)}.md\:pb-28{padding-bottom:calc(var(--spacing) * 28)}}@media(min-width:64rem){.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:ml-6{margin-left:calc(var(--spacing) * 6)}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:items-center{align-items:center}.lg\:gap-14{gap:calc(var(--spacing) * 14)}.lg\:gap-16{gap:calc(var(--spacing) * 16)}.lg\:px-10{padding-inline:calc(var(--spacing) * 10)}.lg\:pt-4{padding-top:calc(var(--spacing) * 4)}}}:root{color-scheme:light;--paper:#f8f9fa;--paper-deep:#eef1f5;--ink:#151a23;--ink-soft:#48515e;--ink-muted:#657080;--rule:#151a231f;--rule-strong:#151a2342;--accent:#0052ff;--accent-solid:#0052ff;--accent-wash:#0052ff0d;--on-accent:#fff;--serif:Georgia, "Times New Roman", serif;--page-pad:clamp(1.25rem, 4.5vw, 5rem);--content-max:82rem;--lift:0 1.25rem 3rem #121c301f;scroll-behavior:smooth;scroll-padding-top:7rem}*,:before,:after{box-sizing:border-box;border-color:var(--rule)}html{background:var(--paper);min-width:20rem}body{background:var(--paper);min-width:20rem;color:var(--ink);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.6}body,button{font-family:var(--font-sans)}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.045em;text-wrap:balance;font-weight:580;line-height:1.1}h1{font-size:clamp(3.5rem,7vw,6rem)}h2{font-size:clamp(2.5rem,5vw,4.5rem)}h3{font-size:clamp(1.35rem,2vw,2rem)}p{text-wrap:pretty}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{background:var(--accent);color:#fff}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{z-index:100;clip:auto;background:var(--accent);color:#fff;border-radius:10px;width:auto;height:auto;margin:0;padding:.8rem 1.2rem;position:fixed;top:.5rem;left:.5rem;overflow:visible}.soft{color:var(--ink-soft)}.muted{color:var(--ink-muted)}.accent{color:var(--accent)}.figure{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.04em}.label{color:var(--ink-muted);font-family:var(--font-mono);letter-spacing:.045em;text-transform:uppercase;font-size:.8rem}.btn{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;min-height:3rem;padding:.75rem 1.2rem;font-size:.94rem;font-weight:550;line-height:1;text-decoration:none;transition:transform .18s,background-color .18s,color .18s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--accent);color:#fff}.btn-ghost{border-color:var(--rule-strong);color:var(--ink)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.link{color:var(--accent);text-underline-offset:.3rem;text-decoration-thickness:1px}.tag{border:1px solid var(--rule);color:var(--ink-soft);font-family:var(--font-mono);border-radius:999px;align-items:center;padding:.28rem .6rem;font-size:.78rem;display:inline-flex}.frame{border:1px solid var(--rule);background:var(--paper-deep);border-radius:.75rem;position:relative;overflow:hidden}.frame img{object-fit:cover;object-position:top;width:100%;height:100%}.frame-empty{background:var(--accent-wash)}.frame-mark{color:var(--accent);font-family:var(--serif);font-size:clamp(4rem,10vw,8rem)}.frame-note{max-width:24rem;color:var(--accent);font-family:var(--font-mono);text-align:center;padding:2rem;font-size:.82rem}.site-nav{z-index:50;width:min(100% - 3rem,76rem);animation:.7s both nav-enter;position:fixed;top:1.25rem;left:50%;transform:translate(-50%)}.site-nav__inner{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffd1;border:1px solid #ffffffd9;border-radius:999px;justify-content:space-between;align-items:center;gap:2rem;min-height:4.25rem;padding:.6rem 1.6rem;display:flex;box-shadow:0 8px 32px #1b30530a,0 0 0 1px #17284806}.site-nav__brand{letter-spacing:-.04em;align-items:center;gap:.6rem;font-size:1rem;font-weight:650;text-decoration:none;display:inline-flex}.brand-mark{background:var(--accent);color:#fff;width:2rem;height:2rem;font-family:var(--font-mono);letter-spacing:-.12em;border-radius:10px;place-items:center;font-size:.8rem;display:grid}.site-nav__brand sup{color:var(--accent);font-family:var(--font-mono);font-size:.6rem}.site-nav__links{gap:2rem;margin:0;padding:0;list-style:none;display:flex}.nav-link{color:var(--ink-soft);padding:.65rem 0;font-size:.83rem;text-decoration:none;position:relative}.nav-link:after{content:"";background:var(--accent);height:2px;transition:transform .22s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-link:hover:after,.nav-link[aria-current]:after{transform:scaleX(1)}.nav-link[aria-current]{color:var(--accent)}.site-nav__availability{color:var(--ink-soft);align-items:center;gap:.65rem;font-size:.75rem;text-decoration:none;display:flex}.site-nav__availability span,.contact-section__eyebrow>span{background:#158447;border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:3s infinite breathe;box-shadow:0 0 0 4px #15844714}.site-nav__toggle{border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;display:none}.site-nav__mobile{border:1px solid var(--rule);box-shadow:var(--lift);background:#fafbfc;border-radius:1.4rem;margin-top:.65rem;padding:.6rem}.site-nav__mobile ul{margin:0;padding:0;list-style:none}.site-nav__mobile a{border-radius:.8rem;padding:.8rem 1rem;text-decoration:none;display:block}.site-nav__mobile a:hover{background:var(--accent-wash);color:var(--accent)}[hidden]{display:none!important}.site-nav--inner+main{padding-top:6rem}.section-label{color:var(--accent);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.7rem;margin:0 0 2rem;font-size:.69rem;font-weight:500;display:flex}.code-dot{background:#158447;border-radius:50%;width:5px;height:5px}.portfolio-section{width:min(100%,var(--content-max));padding:7rem var(--page-pad);margin:auto}.editorial-heading{justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:3rem;display:flex}.section-label{margin-bottom:1.4rem}.editorial-heading h2,.about-section h2{letter-spacing:-.055em;margin:0;font-size:clamp(2.65rem,4.2vw,4rem);font-weight:530;line-height:1.08}.editorial-heading h2 em,.about-section h2 em{color:var(--accent);font-family:var(--serif);font-weight:400;position:relative}.editorial-heading h2 em svg{fill:none;width:100%;height:.25em;stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round;stroke-dasharray:450;stroke-dashoffset:450px;transition:stroke-dashoffset 1.4s .3s;position:absolute;bottom:-.22em;left:0}.editorial-heading.is-visible h2 em svg{stroke-dashoffset:0}.editorial-heading__summary{max-width:21rem;color:var(--ink-muted);margin:0 0 .25rem;font-size:.88rem;line-height:1.8}.work-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.8rem;display:flex}.developer-dock{background:#1c212b;border:1px solid #fff2;border-radius:999px;gap:.2rem;padding:.35rem;display:flex;box-shadow:0 8px 18px #18213615}.developer-dock button{color:#c8ccd4;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-height:2.7rem;padding:.65rem 1.1rem;font-size:.73rem;transition:background .25s,transform .25s,color .25s;display:flex}.developer-dock button:hover{color:#fff;background:#ffffff12;transform:translateY(-2px)}.developer-dock button[aria-pressed=true]{background:var(--accent);color:#fff;box-shadow:inset 0 1px #ffffff35}.developer-dock button:focus-visible{outline-offset:2px;outline-color:#a5c3ff}.developer-dock svg{width:1rem;height:1rem}#work-count{font-family:var(--font-mono);color:var(--ink-muted);margin:0;font-size:.65rem}.project-showcases{gap:1.6rem;display:grid}.project-showcase{color:#fff;border:1px solid #0000;border-radius:24px;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);align-items:center;gap:3rem;min-height:29rem;padding:2.6rem;transition:box-shadow .4s;display:grid;position:relative;overflow:hidden}.project-showcase--blue{background:linear-gradient(125deg,#0647df,#0733aa)}.project-showcase--dark{background:#1d2430}.project-showcase--light{color:var(--ink);background:#e9edf0;border-color:#dde2e7}.project-showcase:hover{box-shadow:0 18px 42px #0647df16}.project-showcase__copy{flex-direction:column;justify-content:space-between;align-self:stretch;min-width:0;display:flex}.project-showcase__meta{opacity:.8;font-family:var(--font-mono);justify-content:space-between;gap:1rem;margin-bottom:2.8rem;font-size:.6rem;display:flex}.project-showcase__meta>span:first-child{align-items:center;gap:.65rem;display:flex}.project-meta-line{opacity:.5;background:currentColor;width:1.2rem;height:1px}.project-result{width:fit-content;font-family:var(--font-mono);background:#ffffff09;border:1px solid #ffffff26;border-radius:5px;align-items:center;gap:.45rem;margin-bottom:1rem;padding:.3rem .6rem;font-size:.62rem;display:flex}.project-result>span{background:#98e9c0;border-radius:50%;width:4px;height:4px}.project-showcase--light .project-result{background:#ffffff60;border-color:#10243420}.project-showcase--light .project-result>span{background:#158447}.project-showcase__content h3{color:inherit;letter-spacing:-.05em;margin:0 0 1rem;font-size:clamp(2rem,3.4vw,3.25rem);font-weight:550;line-height:1.06}.project-showcase__content>p:not(.project-result){color:#dce5ff;max-width:25rem;margin:0 0 1.35rem;font-size:.84rem;line-height:1.8}.project-showcase--dark .project-showcase__content>p:not(.project-result){color:#bfc9d8}.project-showcase--light .project-showcase__content>p:not(.project-result){color:var(--ink-soft)}.project-showcase__content ul{flex-wrap:wrap;gap:.35rem;margin:0 0 1.8rem;padding:0;list-style:none;display:flex}.project-showcase__content li{font-family:var(--font-mono);background:#ffffff0a;border:1px solid #ffffff20;border-radius:999px;padding:.3rem .6rem;font-size:.59rem}.project-showcase--light .project-showcase__content li{background:#fff6;border-color:#18223814}.project-showcase__links{flex-wrap:wrap;align-items:center;gap:1.4rem;display:flex}.project-showcase__links a{align-items:center;gap:.7rem;min-height:2.7rem;font-size:.75rem;text-decoration:none;display:inline-flex}.project-showcase__links a:first-child{color:#142c63;background:#fff;border-radius:999px;padding:.6rem 1rem;font-weight:550}.project-showcase--light .project-showcase__links a:first-child{color:#fff;background:var(--ink)}.project-showcase__links svg{width:1rem;height:1rem;transition:transform .2s}.project-showcase__links a:hover svg{transform:translate(2px,-2px)}.project-showcase__media{background:#f8fafc;border:1px solid #ffffff30;border-radius:12px;width:calc(100% + 4rem);min-width:0;transition:transform .35s ease-out;display:block;position:relative;overflow:hidden;transform:perspective(1000px)rotateY(-5deg)rotateX(2deg);box-shadow:-12px 24px 48px #00000025}.project-showcase__media:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(115deg,#0000 20%,#ffffff20 48%,#0000 68%);transition:opacity .25s;position:absolute;inset:0}.project-showcase__media:hover:after{opacity:1}.browser-bar{color:#707984;height:2.2rem;font-family:var(--font-mono);border-bottom:1px solid #dde2e7;justify-content:space-between;align-items:center;gap:.5rem;padding:0 .8rem;font-size:.5rem;display:flex}.browser-bar>span:first-child{gap:4px;display:flex}.browser-bar i{background:#d0d6de;border-radius:50%;width:6px;height:6px}.browser-bar i:first-child{background:#efaba7}.browser-bar i:nth-child(2){background:#e8d098}.browser-bar i:nth-child(3){background:#a8d2b7}.browser-bar svg{width:.8rem;height:.8rem}.project-showcase__media img{aspect-ratio:1.5;object-fit:cover;object-position:top;width:100%;height:auto;display:block}.work-github{width:fit-content;color:var(--ink-soft);justify-content:center;align-items:center;gap:.6rem;margin:2.6rem auto 0;padding:.7rem;font-size:.77rem;text-decoration:none;display:flex}.work-github svg{width:1rem;height:1rem}.work-github:hover{color:var(--accent)}.about-section{border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:5rem;display:grid}.about-section__title .section-label{font-size:.64rem}.about-portrait{border:1px solid var(--rule);background:#fff9;border-radius:16px;align-items:center;gap:1rem;width:fit-content;max-width:100%;margin:2.5rem 0 0;padding:.75rem 1.1rem .75rem .75rem;display:flex}.about-portrait img{object-fit:cover;object-position:center 30%;border-radius:10px;width:3.5rem;height:3.5rem}.about-portrait figcaption{gap:.15rem;display:grid}.about-portrait strong{font-size:.8rem;font-weight:600}.about-portrait span{color:var(--ink-muted);font-size:.62rem}.about-portrait svg{width:1.3rem;height:1.3rem;color:var(--accent);margin-left:1rem}.about-section__body>p{color:var(--ink-soft);margin:0 0 1.3rem;font-size:.94rem;line-height:1.9}.about-section__body>p:first-child{color:var(--ink);letter-spacing:-.015em;font-size:1.13rem;line-height:1.75}.about-section__body dl{margin:2rem 0 0}.about-section__body dl>div{border-top:1px solid var(--rule);grid-template-columns:7.5rem 1fr;gap:1.2rem;padding:1.3rem 0;display:grid}.about-section dt{color:var(--ink-muted);font-family:var(--font-mono);padding-top:.2rem;font-size:.6rem}.about-section dd{margin:0}.about-section dd strong,.about-section dd span{display:block}.about-section dd strong{margin-bottom:.3rem;font-size:.83rem;font-weight:550}.about-section dd span{color:var(--ink-muted);font-size:.72rem}.about-section dd p{color:var(--ink-muted);margin:.45rem 0 0;font-size:.75rem;line-height:1.7}.stack-section{padding-top:0}.stack-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;display:grid}.stack-card{border:1px solid var(--rule);background:#fff9;border-radius:18px;grid-column:span 2;padding:1.8rem;transition:border-color .25s,box-shadow .25s}.stack-card:nth-child(n+4){grid-column:span 3}.stack-card:hover{border-color:#0052ff50;box-shadow:0 8px 24px #0052ff08}.stack-card__top{justify-content:space-between;align-items:center;margin-bottom:1.8rem;display:flex}.stack-card__top svg{background:var(--accent-wash);width:2.5rem;height:2.5rem;color:var(--accent);border:1px solid #0052ff15;border-radius:10px;padding:.55rem}.stack-card__top span{color:#7b8591;font-family:var(--font-mono);font-size:.62rem}.stack-card h3{letter-spacing:-.03em;margin:0 0 .6rem;font-size:1.25rem;font-weight:550}.stack-card p{min-height:2.5rem;color:var(--ink-muted);margin:0 0 1.3rem;font-size:.77rem}.stack-card ul{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.stack-card li{border:1px solid var(--rule);font-family:var(--font-mono);color:var(--ink-soft);border-radius:6px;padding:.35rem .6rem;font-size:.61rem}.contact-section{background:#edf1f8;border-top:1px solid #dee5ef;position:relative;overflow:clip}.contact-section:before{content:"";opacity:.3;pointer-events:none;background-image:linear-gradient(#a8b8d530 1px,#0000 1px),linear-gradient(90deg,#a8b8d530 1px,#0000 1px);background-size:70px 70px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000);mask-image:linear-gradient(90deg,#0000,#000)}.contact-section__inner{width:min(100%,var(--content-max));padding:5.5rem var(--page-pad) 0;margin:auto;position:relative}.contact-section__eyebrow{font-family:var(--font-mono);color:var(--ink-soft);align-items:center;gap:.7rem;margin:0 0 2rem;font-size:.65rem;display:flex}.contact-section h2{letter-spacing:-.065em;margin:0;font-size:clamp(3.5rem,7vw,6.5rem);font-weight:530;line-height:1.03;position:relative}.contact-section h2 em{font-family:var(--serif);color:var(--accent);font-weight:400}.contact-spark{color:var(--accent);font-size:1.5em;font-weight:400;position:absolute;top:5%;right:8%;transform:rotate(10deg)}.contact-description{color:var(--ink-soft);margin:1.8rem 0;font-size:.88rem}.contact-section__email{color:var(--accent);letter-spacing:-.035em;border-bottom:1px solid #0052ff60;align-items:center;gap:2rem;padding-bottom:.5rem;font-size:clamp(1.1rem,2.3vw,2rem);text-decoration:none;display:inline-flex}.contact-section__email svg{width:1.6rem;height:1.6rem;transition:transform .2s}.contact-section__email:hover svg{transform:translate(3px,-3px)}.contact-bottom{border-top:1px solid #cfd8e5;justify-content:space-between;align-items:center;gap:2rem;margin-top:4.5rem;padding:1.5rem 0;display:flex}.contact-bottom>p{color:var(--ink-muted);margin:0;font-size:.7rem}.contact-section__links{flex-wrap:wrap;gap:1.3rem;margin:0;padding:0;list-style:none;display:flex}.contact-section__links a{min-height:2.75rem;color:var(--ink-soft);align-items:center;gap:.4rem;font-size:.69rem;text-decoration:none;display:inline-flex}.contact-section__links svg{width:1rem;height:1rem}.contact-section__links a:hover{color:var(--accent)}.site-footer{width:min(100%,var(--content-max));min-height:5.5rem;padding:1.4rem var(--page-pad);color:var(--ink-muted);justify-content:space-between;align-items:center;gap:1rem;margin:auto;font-size:.63rem;display:flex}.site-footer a{color:var(--ink-soft);padding:.7rem 0;text-decoration:none}.reveal-ready .reveal{opacity:0;transition:opacity .7s var(--reveal-delay,0s),transform .7s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0s);transform:translateY(20px)}.reveal-ready .reveal.is-visible{opacity:1;transform:none}@keyframes nav-enter{0%{opacity:0;translate:0 -16px}to{opacity:1;translate:0}}@keyframes breathe{0%,to{box-shadow:0 0 0 4px #15844712}50%{box-shadow:0 0 0 6px #15844707}}@media(max-width:1050px){.site-nav__availability{display:none}.project-showcase{gap:2rem;padding:2rem}.project-showcase__meta{font-size:.52rem}.project-showcase__links{gap:1rem}.about-section{gap:3rem}.stack-card{padding:1.35rem}.contact-bottom{flex-direction:column;align-items:flex-start;gap:.8rem}}@media(max-width:760px){:root{--page-pad:1.5rem}.site-nav{width:calc(100% - 2rem);top:.75rem}.site-nav__inner{min-height:3.8rem;padding:.4rem .6rem .4rem 1rem}.site-nav__brand{font-size:.9rem}.site-nav__links{display:none}.site-nav__toggle{display:grid}.site-nav__mobile:not([hidden]){display:block}.portfolio-section{padding-top:4.5rem;padding-bottom:4.5rem}.editorial-heading{margin-bottom:2rem;display:block}.editorial-heading__summary{max-width:27rem;margin-top:1.5rem;font-size:.81rem}.section-label{font-size:.6rem}.editorial-heading h2,.about-section h2{font-size:clamp(2.55rem,7.5vw,3.5rem)}.work-toolbar{flex-direction:column;align-items:flex-start;gap:1rem}.developer-dock{border-radius:1.25rem;flex-wrap:wrap;width:fit-content;max-width:100%}.developer-dock button{gap:.4rem;padding:.6rem .8rem;font-size:.66rem}.developer-dock svg{width:.9rem;height:.9rem}.project-showcase{border-radius:20px;grid-template-columns:1fr;gap:2rem;padding:1.7rem}.project-showcase__meta{margin-bottom:2rem;font-size:.58rem}.project-showcase__content h3{max-width:12ch;font-size:2.7rem}.project-showcase__content>p:not(.project-result){max-width:32rem}.project-showcase__media{width:100%;transform:none}.project-showcase__media img{aspect-ratio:1.5}.project-showcase__content li{font-size:.57rem}.about-section{grid-template-columns:1fr;gap:2rem}.about-portrait{margin-top:1.8rem}.about-section__body dl>div{grid-template-columns:6.4rem 1fr;gap:.8rem}.stack-section{padding-top:0}.stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stack-card,.stack-card:nth-child(n+4){grid-column:span 1}.stack-card:last-child{grid-column:1/-1}.stack-card{padding:1.25rem}.stack-card p{min-height:3rem}.contact-section__inner{padding-top:4rem}.contact-section__eyebrow{font-size:.55rem}.contact-section h2{font-size:clamp(3rem,9vw,4.4rem)}.contact-spark{font-size:.85em;top:33%;right:0}.contact-description{max-width:18rem;font-size:.83rem}.contact-section__email{gap:1.5rem}.contact-bottom{margin-top:3rem}.contact-section__links{gap:.5rem 1.2rem}.site-footer{flex-wrap:wrap;font-size:.56rem}.site-footer span:nth-child(2){order:3;width:100%}}@media(max-width:380px){:root{--page-pad:1rem}.developer-dock button{padding-inline:.6rem;font-size:.6rem}.project-showcase{padding:1.3rem}.stack-grid{grid-template-columns:1fr}.stack-card p{min-height:0}.about-portrait svg{display:none}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reveal-ready .reveal{opacity:1;transform:none}.project-showcase__media{transform:none!important}.editorial-heading h2 em svg{stroke-dashoffset:0}}@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-leading{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-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}
