/*! tailwindcss v4.2.4 | 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-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--tracking-tight:-.025em;--tracking-wide:.025em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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;-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{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{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.z-0{z-index:0}.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}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.flex-shrink,.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.font-mono{font-family:var(--font-mono)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.overline{text-decoration-line:overline}.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)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:"Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--tracking-tight:-.03em;--tracking-wide:.18em;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:32px;--radius-pill:999px;--blur-thin:12px;--blur:20px;--blur-thick:32px;--dur-fast:.15s;--dur-base:.25s;--dur-slow:.4s;--dur-theme:.6s;--ease-standard:cubic-bezier(.4, 0, .2, 1);--ease-emphasized:cubic-bezier(.22, 1, .36, 1);--hover-dur:.24s;--hover-ease:cubic-bezier(.22, 1, .36, 1);--hover-lift:-2px;--hover-underline:1.5px;--press-scale:.97;--page-max:1100px;--page-pad:clamp(20px, 3.2vw, 32px);--nav-height:64px;--fs-display:clamp(3.2rem, 9.5vw, 7rem);--fs-h1:clamp(1.875rem, 3.4vw, 2.75rem);--fs-h2:clamp(1.25rem, 2vw, 1.5rem);--fs-body-lg:1.125rem;--fs-body:1rem;--fs-caption:.8125rem;--fs-overline:.6875rem;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#0b0b0a;--surface-1:#131312;--surface-2:#1b1b1a;--surface-glass:#1313128c;--border-subtle:#fafaf81a;--border-strong:#fafaf82e;--glass-highlight:#ffffff1a;--glass-lowlight:#00000038;--text-primary:#fafaf8f2;--text-secondary:#fafaf8ad;--text-tertiary:#fafaf873;--accent:#f5f5f2;--accent-2:#c7c7c2;--accent-contrast:#0d0d0c;--status-success:#4ade80;--status-warning:#fbbf24;--status-danger:#f87171;--shadow-sm:0 1px 3px #00000073;--shadow-md:0 6px 20px #00000073;--shadow-lg:0 20px 60px #0009;--shadow-glass:0 8px 40px #00000080;--glow-accent:0 8px 28px #f5f5f21a;--bg:var(--bg-base);--bg-screen:#111110;--surface:var(--surface-1);--surface-elevated:var(--surface-2);--border:var(--border-subtle);--border-hover:var(--border-strong);--accent-secondary:var(--accent-2);--ipad-body:#1a1a1c;--screen-bg:#111110;--bullet-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--bullet-color:color-mix(in srgb, var(--accent) 45%, transparent)}}html.light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-base:#fafaf9;--surface-1:#fff;--surface-2:#f1f1ef;--surface-glass:#fff9;--border-subtle:#18181633;--border-strong:#18181657;--glass-highlight:#ffffffe6;--glass-lowlight:#1818160d;--text-primary:#161614;--text-secondary:#55534e;--text-tertiary:#8a8780;--accent:#161614;--accent-2:#55534e;--accent-contrast:#fafaf9;--status-success:#15803d;--status-warning:#b45309;--status-danger:#b91c1c;--shadow-sm:0 2px 6px #1818161a, 0 1px 2px #18181614;--shadow-md:0 8px 24px #18181629, 0 2px 6px #18181614;--shadow-lg:0 24px 60px #18181633, 0 4px 12px #1818161a;--shadow-glass:0 10px 30px #18181624, 0 2px 8px #1818160f;--glow-accent:0 8px 28px #1616141a;--bg-screen:#fff;--ipad-body:#1a1a1c;--screen-bg:#fff;--bullet-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){html.light{--bullet-color:color-mix(in srgb, var(--accent) 45%, transparent)}}.hov-lift{transition:transform var(--hover-dur) var(--hover-ease), box-shadow var(--hover-dur) var(--hover-ease), border-color var(--hover-dur) var(--hover-ease), background var(--hover-dur) var(--hover-ease)}.hov-lift:hover{transform:translateY(var(--hover-lift));box-shadow:var(--shadow-md);border-color:var(--border-strong)}.hov-underline{position:relative}.hov-underline:after{content:"";height:var(--hover-underline);transform-origin:0;transition:transform var(--hover-dur) var(--hover-ease);background:currentColor;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.hov-underline:hover:after,.hov-underline:focus-visible:after{transform:scaleX(1)}.hov-fill{isolation:isolate;transition:color var(--hover-dur) var(--hover-ease), border-color var(--hover-dur) var(--hover-ease);position:relative;overflow:hidden}.hov-fill:before{content:"";z-index:-1;background:var(--accent);transform-origin:bottom;transition:transform var(--hover-dur) var(--hover-ease);position:absolute;inset:0;transform:scaleY(0)}.hov-fill:hover{color:var(--accent-contrast);border-color:var(--accent)}.hov-fill:hover:before{transform:scaleY(1)}.hov-tint{transition:background var(--hover-dur) var(--hover-ease), border-color var(--hover-dur) var(--hover-ease), color var(--hover-dur) var(--hover-ease)}.hov-tint:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hov-tint:hover{background:color-mix(in srgb, var(--accent) 7%, transparent)}}.hov-tint:hover{border-color:var(--border-strong);color:var(--text-primary)}.hov-icon-nudge [data-arrow]{transition:transform var(--hover-dur) var(--hover-ease);display:inline-block}.hov-icon-nudge:hover [data-arrow]{transform:translate(3px)}.hov-icon-nudge:hover [data-arrow=up]{transform:translate(2px,-2px)}.hov-icon-nudge:hover [data-arrow=down]{transform:translateY(3px)}.hov-press{transition:transform var(--dur-fast) var(--hover-ease)}.hov-press:active{transform:scale(var(--press-scale))}.hov-dim{transition:opacity var(--hover-dur) var(--hover-ease)}.hov-dim:hover{opacity:.7}@media (prefers-reduced-motion:reduce){.hov-lift:hover{transform:none}.hov-underline:after,.hov-fill:before,.hov-icon-nudge [data-arrow]{transition:none}.hov-press:active{transform:none}}.glass-thin,.glass,.glass-thick{background:var(--surface-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:inset 0 1px 0 var(--glass-highlight), inset 0 -1px 0 var(--glass-lowlight), var(--shadow-glass);transition:background var(--dur-theme) var(--ease-standard), border-color var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass-thin{-webkit-backdrop-filter:blur(var(--blur-thin)) saturate(120%);backdrop-filter:blur(var(--blur-thin)) saturate(120%)}.glass{-webkit-backdrop-filter:blur(var(--blur)) saturate(120%);backdrop-filter:blur(var(--blur)) saturate(120%)}.glass-thick{-webkit-backdrop-filter:blur(var(--blur-thick)) saturate(120%);backdrop-filter:blur(var(--blur-thick)) saturate(120%)}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass-thin,.glass,.glass-thick{background:var(--surface-1)}@supports (color:color-mix(in lab, red, red)){.glass-thin,.glass,.glass-thick{background:color-mix(in srgb, var(--surface-1) 92%, transparent)}}}.focus-ring:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.desktop-only{display:flex}.mobile-only{display:none}@media (width<=640px){.desktop-only{display:none}.mobile-only{display:flex}}.page{width:100%;max-width:calc(var(--page-max) + 2 * var(--page-pad));padding-left:var(--page-pad);padding-right:var(--page-pad);margin:0 auto}.overline{font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-tertiary);font-weight:500}.btn{font-family:var(--font-body);font-weight:600;font-size:var(--fs-caption);cursor:pointer;border-radius:var(--radius-pill);white-space:nowrap;transition:background var(--hover-dur) var(--hover-ease), border-color var(--hover-dur) var(--hover-ease), color var(--hover-dur) var(--hover-ease), box-shadow var(--hover-dur) var(--hover-ease), transform var(--dur-fast) var(--hover-ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;line-height:1;text-decoration:none;display:inline-flex}.btn:active{transform:scale(var(--press-scale))}.btn--sm{padding:8px 14px}.btn--md{font-size:var(--fs-body);padding:12px 22px}.btn--primary{background:var(--accent);color:var(--accent-contrast)}.btn--primary:hover{transform:translateY(var(--hover-lift));box-shadow:var(--shadow-md)}.btn--primary:active{transform:scale(var(--press-scale))}.btn--ghost{color:var(--text-primary);border-color:var(--border-strong);background:0 0}.btn--ghost:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn--glass{color:var(--text-primary)}.btn--glass:hover{border-color:var(--border-strong)}.btn--disabled,.btn--disabled:hover,.btn--disabled:active{opacity:.45;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}.btn-note{font-size:var(--fs-caption);color:var(--text-tertiary);line-height:1.4}@media (prefers-reduced-motion:reduce){.btn--primary:hover{transform:none}}.tag{border-radius:var(--radius-pill);font-family:var(--font-mono);background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border-subtle);align-items:center;gap:6px;padding:5px 11px;font-size:.75rem;font-weight:500;display:inline-flex}.tag-icon{flex-shrink:0;width:13px;height:13px}.skill-badge{border-radius:var(--radius-pill);font-family:var(--font-mono);color:var(--text-primary);background:var(--brand);align-items:center;gap:6px;padding:5px 11px;font-size:.75rem;font-weight:500;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.skill-badge{background:color-mix(in srgb, var(--brand) 10%, var(--surface-2))}}.skill-badge{border:1px solid var(--brand)}@supports (color:color-mix(in lab, red, red)){.skill-badge{border:1px solid color-mix(in srgb, var(--brand) 32%, transparent)}}.skill-badge{transition:border-color var(--hover-dur) var(--hover-ease), background var(--hover-dur) var(--hover-ease)}.skill-badge:hover{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.skill-badge:hover{border-color:color-mix(in srgb, var(--brand) 55%, transparent)}}.skill-badge:hover{background:var(--brand)}@supports (color:color-mix(in lab, red, red)){.skill-badge:hover{background:color-mix(in srgb, var(--brand) 16%, var(--surface-2))}}.skill-badge svg{width:13px;height:13px;fill:var(--brand);flex-shrink:0}@supports (color:color-mix(in lab, red, red)){.skill-badge svg{fill:color-mix(in srgb, var(--brand) 72%, #fafaf8 28%)}}html.light .skill-badge svg{fill:var(--brand)}@supports (color:color-mix(in lab, red, red)){html.light .skill-badge svg{fill:color-mix(in srgb, var(--brand) 86%, #161614 14%)}}html.light .skill-badge{background:var(--brand)}@supports (color:color-mix(in lab, red, red)){html.light .skill-badge{background:color-mix(in srgb, var(--brand) 7%, var(--surface-2))}}.badge{border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:.5px;text-transform:uppercase;background:var(--accent);align-items:center;gap:6px;padding:3px 9px;font-weight:600;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.badge{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.badge{color:var(--text-primary);border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.badge{border:1px solid color-mix(in srgb, var(--accent) 22%, transparent)}}.pulse-dot{background:var(--status-success);width:7px;height:7px;box-shadow:0 0 0 0 var(--status-success);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.pulse-dot{box-shadow:0 0 0 0 color-mix(in srgb, var(--status-success) 55%, transparent)}}.pulse-dot{animation:pulse-dot 2.6s var(--ease-standard) infinite;flex-shrink:0}@keyframes pulse-dot{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--status-success) 50%, transparent)}60%{box-shadow:0 0 0 7px #0000}to{box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.pulse-dot{animation:none}}.site-header{z-index:100;height:var(--nav-height);position:fixed;top:0;left:0;right:0}.site-header:before{content:"";-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;transition:opacity .35s var(--ease-standard);pointer-events:none;position:absolute;inset:0}.site-header[data-scrolled=true]:before{opacity:1}.nav-shell{height:100%;max-width:calc(var(--page-max) + 2 * var(--page-pad));padding:0 var(--page-pad);justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex;position:relative}.nav-shell .nav-desk{align-items:center;display:flex}.nav-shell .nav-mob{align-items:center;display:none}@media (width<=880px){.nav-shell .nav-desk{display:none}.nav-shell .nav-mob{display:flex}}.nav-links{align-items:center;gap:2px;display:flex}.nav-link{border-radius:var(--radius-pill);font-size:var(--fs-caption);letter-spacing:.01em;color:var(--text-secondary);transition:color var(--hover-dur) var(--hover-ease);align-items:center;padding:8px 16px;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.nav-link:hover{color:var(--text-primary)}.nav-link.active{color:var(--accent-contrast);transition-delay:60ms}.nav-link .nav-label{z-index:1;position:relative}.nav-pill{border-radius:var(--radius-pill);background:var(--accent);z-index:0;position:absolute;inset:0}.nav-actions{align-items:center;gap:4px;margin-right:-9.5px;display:flex}.icon-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{color:var(--text-primary)}.logo-link{color:var(--text-primary);align-items:center;text-decoration:none;display:inline-flex}.nav-page-btn{border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--bg-base);align-items:center;gap:7px;padding:8px 16px;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.nav-page-btn{background:color-mix(in srgb, var(--bg-base) 60%, transparent)}}.nav-page-btn{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-primary);font-family:var(--font-body);font-size:var(--fs-caption);cursor:pointer;transition:border-color var(--hover-dur) var(--hover-ease), background var(--hover-dur) var(--hover-ease);font-weight:600}.nav-page-btn[data-open=true]{border-color:var(--border-strong)}.nav-sheet{top:calc(var(--nav-height) + 6px);z-index:120;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface-1);width:min(92vw,340px);padding:8px;position:fixed;left:50%}@supports (color:color-mix(in lab, red, red)){.nav-sheet{background:color-mix(in srgb, var(--surface-1) 92%, transparent)}}.nav-sheet{-webkit-backdrop-filter:blur(24px)saturate(120%);backdrop-filter:blur(24px)saturate(120%);box-shadow:var(--shadow-lg);transform-origin:top}.nav-sheet-item{border-radius:var(--radius-md);width:100%;font-size:var(--fs-body);color:var(--text-secondary);align-items:center;gap:12px;padding:12px 14px;font-weight:500;text-decoration:none;display:flex}.nav-sheet-item:hover{color:var(--text-primary);background:var(--surface-2)}.nav-sheet-item.active{color:var(--accent-contrast);background:var(--accent)}.hero-sheet{min-height:100svh;padding-top:var(--nav-height);flex-direction:column;padding-bottom:clamp(20px,3vh,36px);display:flex;position:relative}.reg{pointer-events:none;opacity:0;width:18px;height:18px;animation:reg-fade 1s var(--ease-standard) forwards .2s;position:absolute}.reg:before,.reg:after{content:"";background:var(--border-strong);position:absolute}.reg:before{width:1px;height:100%;top:0;left:50%;transform:translate(-.5px)}.reg:after{width:100%;height:1px;top:50%;left:0;transform:translateY(-.5px)}.reg.tl{top:calc(var(--nav-height) + 10px);left:var(--page-pad)}.reg.tr{top:calc(var(--nav-height) + 10px);right:var(--page-pad)}.reg.bl{bottom:18px;left:var(--page-pad)}.reg.br{bottom:18px;right:var(--page-pad)}@keyframes reg-fade{to{opacity:1}}.hero-main{flex:1;align-items:center;gap:clamp(40px,7vw,110px);padding:clamp(28px,5vh,64px) 0;display:flex}.hero-copy{flex:1;min-width:0;container-type:inline-size}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:clamp(20px,3vw,34px);font-weight:500;display:inline-flex}.eyebrow>span{white-space:nowrap}.eyebrow:before{content:"";background:var(--text-primary);width:26px;height:1px}.hero-name{font-family:var(--font-display);font-weight:500;font-size:var(--fs-display);letter-spacing:-.035em;color:var(--text-primary);line-height:.92}.hero-name span{display:block}.hero-roles{font-family:var(--font-display);letter-spacing:-.01em;white-space:nowrap;color:var(--text-primary);margin-top:clamp(20px,3.2vw,36px);font-size:clamp(1.05rem,6.2cqw,1.9rem);font-weight:500}.hero-roles .dot{color:var(--text-tertiary)}.hero-restless{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-secondary);margin-top:.3rem;font-size:clamp(1.2rem,2.6vw,1.9rem);font-weight:400}.hero-summary{max-width:54ch;color:var(--text-secondary);margin-top:clamp(22px,3.6vw,38px);font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.65}.hero-summary em{color:var(--text-primary);font-style:normal}.loc-label{align-items:center;gap:7px;display:inline-flex}.loc-ping{color:var(--text-primary);display:inline-flex;position:relative}.loc-ring{border:1px solid var(--text-primary);opacity:0;animation:loc-ping 2.4s var(--ease-standard) infinite;border-radius:50%;position:absolute;inset:-3px}@keyframes loc-ping{0%{opacity:.6;transform:scale(.6)}70%{opacity:0;transform:scale(1.8)}to{opacity:0;transform:scale(1.8)}}.roles-badge{border-radius:var(--radius-pill);border:1px solid var(--status-success);align-items:center;gap:7px;padding:4px 11px 4px 9px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.roles-badge{border:1px solid color-mix(in srgb, var(--status-success) 40%, transparent)}}.roles-badge{background:var(--status-success)}@supports (color:color-mix(in lab, red, red)){.roles-badge{background:color-mix(in srgb, var(--status-success) 12%, transparent)}}.roles-badge{color:var(--text-primary);font-weight:600}@media (prefers-reduced-motion:reduce){.loc-ring{opacity:0;animation:none}}.hero-rail{flex-shrink:0;align-self:center;width:clamp(220px,22vw,260px);padding-left:4px;position:relative}.hero-rail-line{background:var(--border-strong);transform-origin:top;width:1px;position:absolute;top:0;bottom:0;left:0}.rail-link{color:var(--text-primary);align-items:baseline;gap:12px;padding:13px 4px 13px 20px;text-decoration:none;display:flex}.rail-index{font-family:var(--font-mono);font-size:var(--fs-overline);color:var(--text-tertiary)}.rail-label{font-size:.95rem;font-weight:500;position:relative}.rail-label:after{content:"";height:var(--hover-underline);transform-origin:0;transition:transform var(--hover-dur) var(--hover-ease);background:currentColor;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.rail-link:hover .rail-label:after,.rail-link:focus-visible .rail-label:after{transform:scaleX(1)}.rail-arrow{color:var(--text-tertiary);transition:color var(--hover-dur) var(--hover-ease);margin-left:auto;font-size:.9rem}.rail-link:hover .rail-arrow{color:var(--text-primary)}.titleblock{border-top:1px solid var(--border-subtle);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);flex-wrap:wrap;align-items:baseline;gap:8px clamp(20px,4vw,48px);padding-top:14px;font-size:.68rem;display:flex}.titleblock .field{align-items:baseline;gap:9px;display:flex}.titleblock .k{color:var(--text-tertiary)}.titleblock .v{color:var(--text-primary)}.titleblock .spacer{flex:1}.scroll-cue{color:var(--text-primary);align-items:center;gap:7px;text-decoration:none;display:inline-flex}.scroll-cue .arrow{animation:2.2s ease-in-out infinite nudge;display:inline-block}@keyframes nudge{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@media (width<=880px){.hero-main{flex-direction:column;align-items:stretch;gap:40px}.hero-rail{align-self:stretch;width:100%}.titleblock .spacer{display:none}.scroll-cue{width:100%;margin-top:6px}}@media (prefers-reduced-motion:reduce){.reg{opacity:1;animation:none}.scroll-cue .arrow{animation:none}}.form-field{background:var(--surface-2);width:100%;display:block}@supports (color:color-mix(in lab, red, red)){.form-field{background:color-mix(in srgb, var(--surface-2) 80%, transparent)}}.form-field{border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--fs-body);transition:border-color var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard), background var(--dur-base) var(--ease-standard);outline:none;padding:12px 16px;font-family:inherit}.form-field::placeholder{color:var(--text-tertiary)}.form-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab, red, red)){.form-field:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent)}}.form-field:disabled{opacity:.55;cursor:not-allowed}.contact-label{flex-direction:column;gap:8px;display:flex}.contact-label-text{font-size:var(--fs-caption);color:var(--text-secondary);letter-spacing:.4px;font-weight:600}.contact-card{padding:32px 36px}@media (width<=520px){.contact-card{padding:24px 20px}.contact-grid{grid-template-columns:1fr!important}}@keyframes spin{to{transform:rotate(360deg)}}.skip-link{z-index:1000;border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-strong);font-size:var(--fs-caption);transition:transform .2s var(--ease-emphasized);padding:10px 16px;font-weight:600;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.hero-stage{width:clamp(220px,22vw,280px);transition:width .45s var(--ease-emphasized);flex-direction:column;flex-shrink:0;align-self:center;gap:18px;display:flex;position:relative}.hero-stage-toggle{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-2);align-self:center;padding:3px;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.hero-stage-toggle{background:color-mix(in srgb, var(--surface-2) 55%, transparent)}}.hero-stage-toggle{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hero-stage-tab{border-radius:var(--radius-pill);cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-tertiary);transition:color var(--hover-dur) var(--hover-ease);background:0 0;border:none;align-items:center;gap:7px;padding:7px 13px;display:inline-flex;position:relative}.hero-stage-tab[data-active=true],.hero-stage-tab:hover{color:var(--text-primary)}.hero-stage-pill{z-index:0;border-radius:var(--radius-pill);background:var(--surface-1);border:1px solid var(--border-strong);position:absolute;inset:0;box-shadow:0 1px 2px #0000002e}.hero-stage-tab-content{z-index:1;align-items:center;gap:7px;display:inline-flex;position:relative}.hero-stage-tab svg{display:block}.hero-stage-viewport{min-height:300px;position:relative}.hero-panel{position:relative}.featured-panel{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:4px 2px 2px;display:flex}.featured-icon-outer{justify-content:center;display:flex}.featured-icon-float{position:relative}.featured-icon-frame{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--surface-2);border-radius:23%;width:clamp(92px,8.5vw,112px);position:relative;overflow:hidden;box-shadow:0 18px 40px -18px #0000008c,0 2px 6px #0000002e}.featured-icon{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.featured-icon-glow{z-index:-1;background:radial-gradient(closest-side, var(--accent), transparent 70%);position:absolute;inset:-35%}@supports (color:color-mix(in lab, red, red)){.featured-icon-glow{background:radial-gradient(closest-side, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%)}}.featured-icon-glow{filter:blur(14px);opacity:.7;pointer-events:none}.featured-eyebrow{margin-top:4px}.featured-name{font-family:var(--font-display);font-weight:600;font-size:var(--fs-h2);color:var(--text-primary);letter-spacing:-.01em}.featured-tagline{color:var(--text-secondary);max-width:32ch;font-size:.82rem;line-height:1.55}.featured-tags{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:2px;display:flex}.featured-tags .tag{padding:4px 9px;font-size:.68rem}.featured-cta{font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-primary);align-items:center;gap:7px;margin-top:8px;text-decoration:none;display:inline-flex}.featured-cta [data-arrow]{transition:transform var(--hover-dur) var(--hover-ease)}.featured-cta:hover [data-arrow]{transform:translate(3px)}.orbit3d{flex-direction:column;align-items:center;gap:14px;display:flex}.orbit3d-stage{aspect-ratio:1;width:100%;position:relative}.orbit3d-ring{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.orbit3d-ring-back,.orbit3d-ring-front{fill:none;vector-effect:non-scaling-stroke}.orbit3d-ring-back{stroke:var(--border-subtle);stroke-width:1px}.orbit3d-ring-front{stroke:var(--border-strong);stroke-width:1px}.orbit3d-node{will-change:transform;position:absolute;top:50%;left:50%}.orbit3d-chip{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);white-space:nowrap;box-shadow:var(--shadow-sm);padding:4px 10px;font-size:.66rem;display:inline-block}.orbit3d-hub{z-index:150;pointer-events:none;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.orbit3d-hub-glyph{color:var(--text-secondary);font-size:1rem;line-height:1}.orbit3d-hub-label{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-tertiary);font-size:.6rem}.orbit3d-caption{color:var(--text-tertiary);text-align:center;max-width:30ch;font-size:.76rem;line-height:1.5}.blueprint-hero{flex-direction:column;align-items:center;gap:10px;display:flex}.blueprint-svg{width:100%;max-width:340px;height:auto;display:block}.bp-construction{stroke:var(--border-subtle);stroke-width:1px;stroke-dasharray:3 5}.bp-outline{fill:none;stroke:var(--text-primary);stroke-width:1.6px}.bp-screen{fill:none;stroke:var(--text-tertiary);stroke-width:1px}.bp-detail{stroke:var(--text-secondary);stroke-width:2px;stroke-linecap:round}.bp-dim-line{stroke:var(--text-tertiary);stroke-width:.8px}.bp-dim-text,.bp-annotation{font-family:var(--font-mono);fill:var(--text-tertiary);letter-spacing:.06em;font-size:7.5px}.bp-annotation{letter-spacing:.14em;font-size:6.8px}.bp-ui{fill:none;stroke:var(--text-secondary);stroke-width:1px;opacity:.85}.bp-ui-solid{fill:var(--text-primary);stroke:none}.bp-ui-diag{stroke:var(--border-strong);stroke-width:.7px}.bp-ui-dot{fill:var(--text-tertiary)}.bp-scanline{stroke:var(--accent);stroke-width:1.2px;filter:drop-shadow(0 0 3px var(--accent))}@supports (color:color-mix(in lab, red, red)){.bp-scanline{filter:drop-shadow(0 0 3px color-mix(in srgb, var(--accent) 60%, transparent))}}.blueprint-caption{color:var(--text-tertiary);text-align:center;max-width:30ch;font-size:.76rem;line-height:1.5}.shiplog{flex-direction:column;gap:12px;width:100%;display:flex}.shiplog-bar{border-radius:var(--radius-md) var(--radius-md) 0 0;background:#1b1b1a;border:1px solid #fafaf81a;border-bottom:none;align-items:center;gap:6px;padding:9px 12px;display:flex}.shiplog-dot{background:#fafaf838;border-radius:50%;width:9px;height:9px}.shiplog-title{font-family:var(--font-mono);letter-spacing:.06em;color:#fafaf873;margin-left:6px;font-size:.62rem}.shiplog-body{border-radius:0 0 var(--radius-md) var(--radius-md);min-height:218px;font-family:var(--font-mono);text-align:left;background:#131312;border:1px solid #fafaf81a;border-top:none;padding:14px 14px 12px;font-size:.68rem;line-height:1.85;overflow:hidden}.shiplog-line{white-space:nowrap;color:#fafaf8ad;align-items:baseline;gap:7px;display:flex}.shiplog-line[data-kind=cmd]{color:#fafaf8f2}.shiplog-line[data-kind=ok]{color:#fafaf899}.shiplog-line[data-kind=out]{color:#fafaf86b}.shiplog-line[data-kind=note]{color:#fafaf8f2;white-space:normal;margin-top:6px}.shiplog-prompt{color:#fafaf866}.shiplog-tick{color:var(--status-success)}.shiplog-caret{background:#fafaf8d9;width:6px;height:.9em;animation:1.05s step-end infinite shiplog-blink;display:inline-block;transform:translateY(.12em)}.shiplog-caret-idle{margin-left:2px}.shiplog-caption{color:var(--text-tertiary);text-align:center;align-self:center;max-width:34ch;font-size:.76rem;line-height:1.5}@keyframes shiplog-blink{50%{opacity:0}}.hero-stage[data-wide]{width:clamp(380px,46vw,600px)}.glyphmac-shell{width:100%}.glyphmac{cursor:pointer;outline:none;flex-direction:column;gap:10px;display:flex}.glyphmac:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:var(--radius-md)}.glyphmac-stage{width:100%;position:relative}.glyphmac-canvas{width:100%;display:block}.glyphmac-flat{border-radius:12px;width:100%;height:auto;display:block}.glyphmac-loading{min-height:340px}.glyphmac-foot{justify-content:center;min-height:28px;display:flex}.glyphmac-caption{font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:var(--tracking-wide);text-transform:uppercase;justify-content:center;align-items:baseline;gap:14px;display:flex}.glyphmac-idx{color:var(--text-tertiary)}.glyphmac-name{color:var(--text-primary);font-weight:600}.glyphmac-expand{cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--text-tertiary);opacity:.8;transition:color var(--hover-dur) var(--hover-ease), opacity var(--hover-dur) var(--hover-ease);background:0 0;border:none;align-items:baseline;gap:5px;padding:0;display:inline-flex}.glyphmac-expand:hover{color:var(--text-primary);opacity:1}.glyph-fs-lock{overflow:hidden}.glyph-fs-backdrop{z-index:200;background:var(--bg-base);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.glyph-fs-backdrop{background:color-mix(in srgb, var(--bg-base) 82%, transparent)}}.glyph-fs-backdrop{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.glyphmac[data-fs]{cursor:pointer}.glyph-fs-close{z-index:5;border:1px solid var(--border-subtle);background:var(--surface-1);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;position:absolute;top:clamp(4px,1.5vw,14px);right:clamp(4px,1.5vw,14px)}@supports (color:color-mix(in lab, red, red)){.glyph-fs-close{background:color-mix(in srgb, var(--surface-1) 80%, transparent)}}.glyph-fs-close{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-secondary);cursor:pointer;transition:color var(--hover-dur) var(--hover-ease), border-color var(--hover-dur) var(--hover-ease), transform var(--dur-fast) var(--hover-ease);font-size:1rem}.glyph-fs-close:hover{color:var(--text-primary);border-color:var(--border-strong)}.glyph-fs-close:active{transform:scale(var(--press-scale))}.glyph-fs-controls{border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--surface-1);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:6px 10px;display:flex}@supports (color:color-mix(in lab, red, red)){.glyph-fs-controls{background:color-mix(in srgb, var(--surface-1) 80%, transparent)}}.glyph-fs-controls{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.glyph-fs-nav{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;transition:color var(--hover-dur) var(--hover-ease), background var(--hover-dur) var(--hover-ease);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;display:inline-flex}.glyph-fs-nav:hover{color:var(--text-primary);background:var(--surface-2)}.glyph-fs-tabs{gap:2px;display:inline-flex}.glyph-fs-tab{border-radius:var(--radius-pill);cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-tertiary);transition:color var(--hover-dur) var(--hover-ease), background var(--hover-dur) var(--hover-ease);background:0 0;border:none;padding:8px 13px}.glyph-fs-tab:hover{color:var(--text-primary)}.glyph-fs-tab[data-active]{color:var(--accent-contrast);background:var(--accent)}@media (width<=640px){.glyph-fs-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-base)}@supports (color:color-mix(in lab, red, red)){.glyph-fs-backdrop{background:color-mix(in srgb, var(--bg-base) 96%, transparent)}}.glyph-fs-tab{padding:10px 12px}}@media (width<=880px){.hero-stage{align-self:stretch;align-items:center;width:100%}.hero-stage-viewport{width:100%;max-width:360px;margin:0 auto}.hero-stage[data-wide]{width:100%}.hero-stage[data-wide] .hero-stage-viewport{max-width:560px}}@media (prefers-reduced-motion:reduce){.shiplog-caret{animation:none}}.macwin{--surface-1:#131312;--surface-2:#1b1b1a;--border-subtle:#fafaf81a;--text-primary:#fafaf8f2;--text-secondary:#fafaf8ad;--text-tertiary:#fafaf873;--accent:#f5f5f2;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface-1);max-width:760px;box-shadow:var(--shadow-lg);margin:0 auto;overflow:hidden}.macwin-bar{background:var(--surface-2);border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:10px 14px;display:flex}.macwin-dots{gap:7px;display:inline-flex}.macwin-dot{border-radius:50%;width:11px;height:11px}.macwin-dot[data-c=r]{background:#ff5f57}.macwin-dot[data-c=y]{background:#febc2e}.macwin-dot[data-c=g]{background:#28c840}.macwin-title{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--text-tertiary);text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.macwin-app{color:var(--text-secondary);font-weight:600}.macwin-spacer{flex-shrink:0;width:47px}.term-body{font-family:var(--font-mono);color:var(--text-primary);min-height:180px;padding:clamp(16px,2.6vw,26px);font-size:clamp(.8125rem,1.4vw,.9375rem);line-height:1.7}.term-line{white-space:pre-wrap;align-items:center;gap:10px;display:flex}.term-prompt{color:var(--text-tertiary)}.term-dim{color:var(--text-secondary)}.term-boot{margin-top:12px}.term-cursor{background:var(--accent);vertical-align:text-bottom;width:.62em;height:1.15em;display:inline-block}.term-cursor[data-blink]{animation:1.1s step-end infinite term-blink}@keyframes term-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.term-cursor[data-blink]{animation:none}}.macwin-video{width:100%;height:auto;display:block}.stack-capture{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);max-width:760px;box-shadow:var(--shadow-lg);background:#131312;margin:0 auto;position:relative;overflow:hidden}.stack-capture-video{width:100%;height:auto;display:block}.stack-capture-restart{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fafaf899;cursor:pointer;opacity:.55;width:32px;height:32px;transition:opacity var(--hover-dur) var(--hover-ease), color var(--hover-dur) var(--hover-ease), transform var(--dur-fast) var(--hover-ease);background:#1313128c;border:1px solid #fafaf824;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:10px;right:10px}.stack-capture:hover .stack-capture-restart,.stack-capture-restart:focus-visible{opacity:1}.stack-capture-restart:hover{color:#fafaf8f2}.stack-capture-restart:active{transform:scale(var(--press-scale))}.stack-rows{flex-direction:column;gap:clamp(36px,6vh,64px);display:flex}.stack-row{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(24px,4vw,56px);display:grid}.stack-row[data-flip] .stack-row-visual{order:2}.stack-row-visual{aspect-ratio:4/3;justify-content:center;align-items:center;display:flex;position:relative}.stack-row-reg{pointer-events:none;width:14px;height:14px;position:absolute}.stack-row-reg:before,.stack-row-reg:after{content:"";background:var(--border-strong);position:absolute}.stack-row-reg:before{width:1px;height:100%;top:0;left:50%}.stack-row-reg:after{width:100%;height:1px;top:50%;left:0}.stack-row-reg[data-pos=tl]{top:14px;left:14px}.stack-row-reg[data-pos=br]{bottom:14px;right:14px}.stack-row-index{position:absolute;bottom:12px;left:16px}.stack-mark{color:var(--text-primary);transition:transform var(--hover-dur) var(--hover-ease);justify-content:center;align-items:center;display:inline-flex}.stack-row-visual:hover .stack-mark{transform:scale(1.06)}.stack-mark[data-branded]{color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.stack-mark[data-branded]{color:color-mix(in srgb, var(--brand) 72%, var(--text-primary) 28%)}}.stack-mark-svg{width:clamp(56px,7vw,84px);height:clamp(56px,7vw,84px);display:block}.stack-mark-glyph{font-family:var(--font-mono);letter-spacing:-.04em;font-size:clamp(3rem,5.5vw,4.5rem);font-weight:500;line-height:1}@media (prefers-reduced-motion:reduce){.stack-row-visual:hover .stack-mark{transform:none}}.stack-row-head{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.stack-row-wordmark{font-size:var(--fs-h2);letter-spacing:-.02em;color:var(--text-primary);font-weight:600}.stack-row-desc{font-size:var(--fs-body);color:var(--text-secondary);margin-top:14px;line-height:1.7}.stack-row-why{font-size:var(--fs-body);color:var(--text-primary);margin-top:12px;line-height:1.7}.stack-row-demo{border-radius:var(--radius-md);border:1px solid var(--border-subtle);width:100%;height:auto;box-shadow:var(--shadow-sm);margin-top:16px;display:block}.stack-row-models{border-left:2px solid var(--border-subtle);gap:12px;margin-top:16px;padding-left:16px;display:grid}.stack-row-model-name{font-size:var(--fs-caption);color:var(--text-primary);font-weight:600}.stack-row-model-note{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:4px;line-height:1.6}.stack-row-foot{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:18px;display:flex}.stack-row-link{font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-primary);white-space:nowrap;align-items:center;gap:6px;text-decoration:none;display:inline-flex}@media (width<=760px){.stack-row{grid-template-columns:1fr;gap:18px}.stack-row[data-flip] .stack-row-visual{order:0}.stack-row-visual{aspect-ratio:16/9}}.stack-prose{max-width:680px}.stack-prose h2{font-family:var(--font-display);font-size:var(--fs-h2);color:var(--text-primary);letter-spacing:-.02em;margin-top:40px;font-weight:600}.stack-prose p{font-size:var(--fs-body);color:var(--text-secondary);margin-top:12px;line-height:1.75}.stack-prose-note{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--text-tertiary);border-top:1px solid var(--border-subtle);margin-top:40px;padding-top:16px}.stack-next-link{font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-primary);align-items:center;gap:7px;text-decoration:none;display:inline-flex}.foundations-section{padding-top:clamp(32px,6vh,72px);padding-bottom:clamp(24px,4vh,48px);position:relative}.foundations-grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:center;gap:clamp(36px,6vw,88px);display:grid}.foundations-visual{justify-content:center;display:flex}.foundations-svg{width:100%;max-width:520px;height:auto;overflow:visible}.foundation-construction{fill:none;stroke:var(--border-subtle);stroke-width:1px;stroke-dasharray:4 6}.foundation-boundary{fill:var(--surface-1)}@supports (color:color-mix(in lab, red, red)){.foundation-boundary{fill:color-mix(in srgb, var(--surface-1) 36%, transparent)}}.foundation-boundary{stroke:var(--border-subtle);stroke-width:1px;stroke-dasharray:3 5}.foundation-flow{fill:none;stroke:var(--text-primary);stroke-width:1.5px}.foundation-flow-interface{stroke-width:1.7px}.foundation-guard{fill:none;stroke:var(--text-secondary);stroke-width:1px}.foundation-node rect{fill:var(--surface-1)}@supports (color:color-mix(in lab, red, red)){.foundation-node rect{fill:color-mix(in srgb, var(--surface-1) 82%, transparent)}}.foundation-node rect{stroke:var(--border-strong);stroke-width:1px}.foundation-node-services rect{fill:var(--surface-2)}@supports (color:color-mix(in lab, red, red)){.foundation-node-services rect{fill:color-mix(in srgb, var(--surface-2) 88%, transparent)}}.foundation-node-services rect{stroke:var(--text-secondary);stroke-width:1.25px}.foundation-node-interface rect{stroke:var(--text-primary)}.foundation-node-label,.foundation-node-note,.foundation-guarantees,.foundation-figure{font-family:var(--font-mono)}.foundation-node-label{letter-spacing:.1em;fill:var(--text-primary);font-size:10px}.foundation-node-note{letter-spacing:.04em;fill:var(--text-tertiary);font-size:8px}.foundation-signal circle{fill:var(--text-primary)}.foundation-signal circle:not(:first-child){fill:none;stroke:var(--text-secondary);stroke-width:1px}.foundation-signal circle:last-child{stroke:var(--border-strong)}.foundation-guarantees text{letter-spacing:.07em;fill:var(--text-tertiary);text-anchor:middle;font-size:7px}.foundation-guarantees line{stroke:var(--border-strong);stroke-width:1px}.foundation-figure{letter-spacing:.08em;fill:var(--text-tertiary);font-size:8px}@media (width<=880px){.foundations-grid{grid-template-columns:1fr;gap:28px}.foundations-svg{max-width:440px}}@media (width<=520px){.foundations-svg{min-width:0}.foundation-node-note{font-size:7px}.foundation-guarantees text{font-size:6.4px}}@media (prefers-reduced-motion:reduce){.foundations-visual *,.pipeline-visual *{transition:none!important;animation:none!important}}.design-section{padding-top:clamp(32px,6vh,72px);padding-bottom:clamp(24px,4vh,48px);position:relative}.design-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(36px,6vw,88px);display:grid}.design-visual{justify-content:center;display:flex}.design-visual .blueprint-svg{max-width:440px}.design-visual .blueprint-caption{display:none}.design-heading{letter-spacing:-.02em;color:var(--text-primary);max-width:18ch;font-size:clamp(1.6rem,3.2vw,2.5rem);font-weight:600}.design-body{max-width:52ch;font-size:var(--fs-body-lg);color:var(--text-secondary);margin-top:16px;line-height:1.65}.blueprint-hero .bp-construction,.blueprint-hero .bp-screen,.blueprint-hero .bp-dim-line,.blueprint-hero .bp-ui{transition:stroke .4s var(--ease-standard)}.blueprint-hero .bp-dim-text,.blueprint-hero .bp-annotation,.blueprint-hero .bp-ui-dot{transition:fill .4s var(--ease-standard)}.design-visual .blueprint-hero:hover .bp-construction{stroke:var(--border-strong)}.design-visual .blueprint-hero:hover .bp-screen{stroke:var(--text-secondary)}.design-visual .blueprint-hero:hover .bp-dim-line{stroke:var(--text-primary)}.design-visual .blueprint-hero:hover .bp-dim-text,.design-visual .blueprint-hero:hover .bp-annotation{fill:var(--text-primary)}.design-visual .blueprint-hero:hover .bp-ui{stroke:var(--text-primary)}@media (width<=880px){.design-grid{grid-template-columns:1fr;gap:36px}.design-visual .blueprint-svg{max-width:320px}}.activity-section{padding-top:24px;padding-bottom:120px}.activity-timeline{flex-direction:column;gap:20px;max-width:760px;padding-left:26px;list-style:none;display:flex;position:relative}.activity-timeline:before{content:"";border-left:2px dotted var(--border-strong);width:0;position:absolute;top:14px;bottom:14px;left:4px}.activity-item{position:relative}.activity-node{background:var(--bg-base);border:2px solid var(--text-tertiary);width:10px;height:10px;transition:border-color var(--dur-base) var(--ease-standard), background var(--dur-base) var(--ease-standard);border-radius:50%;position:absolute;top:24px;left:-26px}.activity-item:hover .activity-node{border-color:var(--text-primary)}.activity-item[data-open] .activity-node{border-color:var(--text-primary);background:var(--text-primary)}.activity-panel{transition:border-color var(--hover-dur) var(--hover-ease), box-shadow var(--hover-dur) var(--hover-ease), transform var(--hover-dur) var(--hover-ease);padding:clamp(16px,2.4vw,22px)}.activity-item:hover .activity-panel{border-color:var(--border-strong);transform:translateY(var(--hover-lift));box-shadow:var(--shadow-md)}@media (prefers-reduced-motion:reduce){.activity-item:hover .activity-panel{transform:none}}.activity-head{cursor:pointer;text-align:left;border-radius:var(--radius-sm);background:0 0;border:none;flex-wrap:wrap;align-items:baseline;gap:8px 14px;width:100%;padding:0;display:flex}.activity-meta{flex-shrink:0;align-items:baseline;gap:10px;display:inline-flex}.activity-date{font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-tertiary)}.activity-kind{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:2px 8px;font-size:.62rem}.activity-title{font-size:var(--fs-h2);color:var(--text-primary);letter-spacing:-.01em;flex:100%;order:3;margin-top:6px;font-weight:600}.activity-chevron{color:var(--text-tertiary);transition:transform var(--hover-dur) var(--hover-ease), color var(--hover-dur) var(--hover-ease);margin-left:auto;font-size:.85rem}.activity-head:hover .activity-chevron{color:var(--text-primary)}.activity-item[data-open] .activity-chevron{transform:rotate(180deg)}.activity-summary{font-size:var(--fs-body);color:var(--text-secondary);margin-top:8px;line-height:1.6}.activity-detail{overflow:hidden}.activity-detail-inner{border-top:1px solid var(--border-subtle);flex-direction:column;gap:10px;margin-top:14px;padding-top:14px;display:flex}.activity-detail-inner p{font-size:var(--fs-body);color:var(--text-secondary);line-height:1.65}.activity-tags{flex-wrap:wrap;gap:7px;margin-top:4px;display:flex}.activity-link{font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-primary);align-self:flex-start;align-items:center;gap:7px;margin-top:6px;text-decoration:none;display:inline-flex}@media (width<=640px){.activity-timeline{padding-left:18px}.activity-node{left:-18px}.activity-timeline:before{left:3px}}.proj-index{border-top:1px solid var(--border-strong)}.proj-index-head,.proj-row{grid-template-columns:56px minmax(0,1fr) minmax(110px,auto);align-items:baseline;gap:clamp(16px,3vw,40px);display:grid}.proj-index-head{border-bottom:1px solid var(--border-subtle);padding:12px 6px}.proj-row{border-bottom:1px solid var(--border-subtle);padding:clamp(22px,3.5vh,34px) 6px;text-decoration:none}.proj-row-no{color:var(--text-tertiary)}.proj-row-title{font-family:var(--font-display);font-size:var(--fs-h2);letter-spacing:-.02em;color:var(--text-primary);align-items:center;gap:12px;font-weight:600;display:flex}.proj-row-title [data-arrow]{color:var(--text-tertiary);transition:transform var(--hover-dur) var(--hover-ease), color var(--hover-dur) var(--hover-ease);font-size:.72em}.proj-row:hover .proj-row-title [data-arrow]{color:var(--text-primary)}.proj-row-tagline{font-size:var(--fs-body);color:var(--text-secondary);max-width:560px;margin-top:8px;line-height:1.6}.proj-row-chips{flex-wrap:wrap;gap:7px;margin-top:16px;display:flex}.proj-row-status{text-align:right;flex-direction:column;align-items:flex-end;gap:6px;display:flex}.proj-row[data-dim] .proj-row-title{color:var(--text-secondary)}.proj-row[data-dim] .proj-row-tagline{color:var(--text-tertiary)}@media (width<=640px){.proj-index-head{display:none}.proj-row{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"no status""main main";align-items:center;row-gap:14px}.proj-row-no{grid-area:no}.proj-row-status{flex-direction:row;grid-area:status;align-items:center;gap:14px}.proj-row-main{grid-area:main}}.about-bio-grid{grid-template-columns:clamp(150px,24vw,240px) minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,48px);margin-top:8px;display:grid}.about-photo-cell{width:100%}.about-photo-frame{margin:0}.about-photo-plate{display:block;position:relative}.about-photo-plate:after{content:"";border:1px solid var(--border-strong);border-radius:var(--radius-md);pointer-events:none;z-index:-1;position:absolute;inset:8px -8px -8px 8px}.about-photo{aspect-ratio:5/6;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-2);width:100%;height:auto;display:block}.about-photo-caption{color:var(--text-tertiary);letter-spacing:var(--tracking-wide);white-space:nowrap;margin-top:10px;display:block}.about-bio-copy{min-width:0}.about-kicker{color:var(--text-tertiary);letter-spacing:var(--tracking-wide);margin-bottom:12px}.about-lede{max-width:660px;color:var(--text-secondary);font-size:var(--fs-body-lg);margin-top:16px;line-height:1.7}.about-body-copy{max-width:680px;color:var(--text-tertiary);font-size:var(--fs-body);margin-top:18px;line-height:1.75}.about-aside{border-left:2px solid var(--border-strong);max-width:700px;color:var(--text-secondary);font-size:var(--fs-body);margin-top:36px;padding:18px 0 18px 22px;line-height:1.7}@media (width<=640px){.about-bio-grid{grid-template-columns:1fr;gap:24px}.about-photo-frame{max-width:200px}.about-aside{margin-top:30px;padding-left:18px}}.about-hobbies-heading{max-width:640px;margin-bottom:28px}.about-hobbies-title{color:var(--text-primary);font-family:var(--font-display);font-size:var(--fs-h2);letter-spacing:-.025em;margin-top:12px;font-weight:650}.about-hobbies-copy{color:var(--text-secondary);font-size:var(--fs-body);margin-top:10px;line-height:1.65}.hobby-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.hobby-notes>*{min-width:0}.hobby-note{border-radius:var(--radius-md);align-items:flex-start;gap:18px;height:100%;padding:22px 24px;display:flex;position:relative}.hobby-note-mark{width:44px;height:44px;color:var(--text-primary);flex:none;margin-top:2px}.hobby-note-title{font-family:var(--font-display);font-size:var(--fs-body-lg);letter-spacing:-.01em;color:var(--text-primary);font-weight:600}.hobby-note-blurb{font-size:var(--fs-body);color:var(--text-secondary);margin-top:6px;line-height:1.6}.hobby-note-no{color:var(--text-tertiary);position:absolute;top:14px;right:16px}@media (width<=700px){.hobby-notes{grid-template-columns:1fr}}.projects-grid{grid-template-columns:minmax(0,1fr);gap:clamp(16px,2.2vw,24px);margin:0;padding:0;list-style:none;display:grid}@media (width>=880px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-card{border-radius:var(--radius-lg);height:100%;text-decoration:none;display:block}.project-card-surface{flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.project-card-surface:after{content:"";border-top:1px solid var(--text-primary);border-right:1px solid var(--text-primary);opacity:0;width:26px;height:22px;transition:opacity var(--hover-dur) var(--hover-ease), transform var(--hover-dur) var(--hover-ease);pointer-events:none;position:absolute;top:8px;right:8px;transform:translate(-4px,4px)}.project-card:hover .project-card-surface:after,.project-card:focus-visible .project-card-surface:after{opacity:1;transform:translate(0)}.project-card-cover{aspect-ratio:2.4;border-bottom:1px solid var(--border-subtle);background-image:linear-gradient(var(--border-subtle) 1px, transparent 1px), linear-gradient(90deg, var(--border-subtle) 1px, transparent 1px);background-position:50%;background-size:22px 22px;flex-shrink:0;justify-content:center;align-items:center;max-height:170px;display:flex;position:relative}.project-card-cover-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.project-card-cover-icon{border:1px solid var(--border-subtle);width:52px;height:52px;box-shadow:var(--shadow-sm);border-radius:12px}.project-card-cover-icon--over{z-index:1;position:relative}.project-card-cover-note{letter-spacing:2px;color:var(--text-tertiary)}.project-card-cover--featured{background-image:none;background:var(--surface-1)}.project-card-cover-flag{border-radius:inherit;opacity:.75;transition:opacity var(--hover-dur) var(--hover-ease);position:absolute;inset:0}.project-card:hover .project-card-cover-flag,.project-card:focus-visible .project-card-cover-flag{opacity:1}.project-card-cover-featured-body{z-index:1;flex-direction:column;align-items:center;gap:10px;padding:14px 18px;display:flex;position:relative}.project-card-cover-featured-icon{border:1px solid var(--border-subtle);width:44px;height:auto;box-shadow:var(--shadow-sm);border-radius:22.5%}.project-card-cover-featured-wordmark{object-fit:contain;opacity:.92;width:min(58%,150px);height:auto}.project-card-no{font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:.06em;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;position:absolute;top:12px;right:14px}.project-card-body{flex-direction:column;flex:1;gap:9px;padding:18px 20px 20px;display:flex}.project-card-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-card-title{letter-spacing:-.3px;color:var(--text-primary);font-size:1.25rem;font-weight:700;line-height:1.2}.project-card-tagline{font-size:var(--fs-body);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;line-height:1.5;overflow:hidden}.project-card-tags{flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:2px;display:flex}.project-card[data-dim] .project-card-surface{opacity:.85}.project-card[data-dim] .project-card-title{color:var(--text-secondary)}@media (prefers-reduced-motion:reduce){.project-card-surface:after{transition:none;transform:none}}.sheet-list{gap:var(--sheet-gap,clamp(20px, 3vh, 32px));flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sheet-list-item{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:clamp(12px,2vw,20px);display:grid}.sheet-list-no{font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:.06em;color:var(--text-tertiary);text-align:right;-webkit-user-select:none;user-select:none;padding-top:clamp(16px,2.4vw,22px);line-height:1.6}.sheet-list-body{min-width:0}@media (width<=640px){.sheet-list{gap:var(--sheet-gap,18px)}.sheet-list-item{grid-template-columns:28px minmax(0,1fr);gap:10px}}.sheet-label-row{align-items:center;gap:12px;margin-bottom:14px;display:flex}.sheet-label{font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-secondary);border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--surface-2);align-items:center;padding:5px 11px;font-weight:500;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.sheet-label{background:color-mix(in srgb, var(--surface-2) 55%, transparent)}}.sheet-label{white-space:nowrap}.sheet-label-rule{background:var(--border-subtle);flex:1;height:1px}html.light .sheet-label{color:var(--text-primary);border-color:#18181652}html.light .sheet-label-rule{background:#18181647}.pill-link{border-radius:var(--radius-pill);border:1px solid var(--border-strong);font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-primary);white-space:nowrap;transition:color var(--hover-dur) var(--hover-ease), border-color var(--hover-dur) var(--hover-ease);background:0 0;align-items:center;gap:7px;padding:9px 16px;font-weight:500;text-decoration:none;display:inline-flex}.pill-link [data-arrow]{transition:transform var(--hover-dur) var(--hover-ease);display:inline-block}@media (prefers-reduced-motion:reduce){.pill-link [data-arrow]{transition:none}}.shot-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:clamp(16px,2.5vw,24px);display:grid}.shot-card{flex-direction:column;gap:10px;min-width:0;display:flex}.shot-tile{aspect-ratio:9/16;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-2);position:relative;overflow:hidden}.shot-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.shot-placeholder{background:repeating-linear-gradient(135deg, var(--accent) 0 14px, transparent 14px 28px);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.shot-placeholder{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--accent) 4%, transparent) 0 14px, transparent 14px 28px)}}.shot-placeholder-no{font-family:var(--font-mono);color:var(--text-tertiary);letter-spacing:.08em;font-size:1.4rem;font-weight:500}.shot-placeholder-label{font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-tertiary)}.shot-meta{padding:0 2px}.shot-caption{font-family:var(--font-display);font-size:var(--fs-body);color:var(--text-primary);letter-spacing:-.01em;font-weight:600}.shot-detail{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:2px;line-height:1.55}.icon-grid{flex-wrap:wrap;gap:clamp(16px,2.5vw,28px);display:flex}.icon-cell{flex-direction:column;align-items:center;gap:10px;display:flex}.icon-frame{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--surface-2);border-radius:23%;width:clamp(80px,9vw,112px);overflow:hidden;box-shadow:0 14px 30px -16px #00000080,0 2px 6px #0000002e}.icon-img{object-fit:cover;width:100%;height:100%;display:block}.icon-label{font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-tertiary)}.site-footer{z-index:1;border-top:1px solid var(--border-subtle);margin-top:auto;padding-top:20px;padding-bottom:clamp(20px,3vh,40px);position:relative}.site-footer-inner{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);flex-wrap:wrap;align-items:baseline;gap:7px clamp(18px,4vw,40px);font-size:.66rem;display:flex}.site-footer-mark{color:var(--text-tertiary);opacity:.7;align-items:center;display:inline-flex}.site-footer-field{align-items:baseline;gap:8px;display:inline-flex}.site-footer-k{color:var(--text-tertiary)}.site-footer-v{color:var(--text-secondary)}.site-footer-spacer{flex:1}.site-footer-credit .site-footer-v{color:var(--text-tertiary)}@media (width<=640px){.site-footer-inner{gap:6px 16px}.site-footer-spacer{display:none}.site-footer-credit{width:100%;margin-top:4px}}.detail-heading{letter-spacing:-.02em;color:var(--text-primary);max-width:20ch;font-size:clamp(1.6rem,3.2vw,2.5rem);font-weight:600}.detail-body{max-width:52ch;font-size:var(--fs-body-lg);color:var(--text-secondary);margin-top:16px;line-height:1.65}.layers-section{padding-top:clamp(32px,6vh,72px);padding-bottom:clamp(24px,4vh,48px)}.layers-grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:center;gap:clamp(36px,6vw,88px);display:grid}.layers-visual{justify-content:center;display:flex}.layers-stage{perspective:1100px;width:100%;max-width:460px;height:420px;position:relative}.layer-row{transform-style:preserve-3d;pointer-events:none;align-items:center;display:flex;position:absolute;inset:0}.layer-plate{aspect-ratio:120/74;border:1px solid var(--border-strong);width:clamp(170px,44%,210px);box-shadow:var(--shadow-sm);border-radius:8px;align-items:stretch;display:flex;position:absolute;left:8%;transform:rotateX(57deg)rotate(-38deg)}.layer-plate svg{width:100%;height:100%;display:block}.layer-leader{background:var(--border-strong);transform-origin:0;width:clamp(36px,9%,56px);height:1px;position:absolute;left:52%}.layer-tag{font-family:var(--font-mono);letter-spacing:var(--tracking-wide,.08em);text-transform:uppercase;flex-direction:column;gap:2px;display:flex;position:absolute;left:calc(52% + clamp(44px,11%,64px))}html.light .layers-visual{--border-strong:#18181685;--text-tertiary:#55534e}.layer-tag-index{color:var(--text-tertiary);font-size:.62rem}.layer-tag-label{color:var(--text-primary);font-size:.74rem}.layer-tag-note{color:var(--text-tertiary);text-transform:none;letter-spacing:.02em;font-size:.62rem}@media (width<=880px){.layers-grid{grid-template-columns:1fr;gap:28px}.layers-stage{max-width:340px;height:360px;margin-inline:auto}.layer-plate{width:170px;left:0}.layer-leader{width:30px;left:44%}.layer-tag{left:calc(44% + 38px)}}.device-showcase{position:relative}.device-marquee{padding:26px 0;overflow:clip visible}.device-marquee-track{width:max-content;animation:device-marquee-scroll var(--marquee-dur,36s) linear infinite;display:flex}.device-marquee-track[data-paused]{animation-play-state:paused}.device-marquee-track:has(.device-frame:hover){animation-play-state:paused}@keyframes device-marquee-scroll{to{transform:translate(-50%)}}.device-marquee-group{gap:clamp(18px,3vw,30px);padding-right:clamp(18px,3vw,30px);display:flex}.device-frame{aspect-ratio:390/844;border:1px solid var(--border-strong);width:clamp(148px,17vw,186px);box-shadow:var(--shadow-md);cursor:pointer;transition:transform .35s var(--ease-emphasized), box-shadow .35s var(--ease-emphasized);background:#101010;border-radius:34px;flex-shrink:0;padding:7px;position:relative}.device-frame:hover{transform:translateY(var(--hover-lift))}.device-frame[data-active]{z-index:6;box-shadow:var(--shadow-lg);transform:scale(1.4)}.device-screen{background:#0b0b0b;border-radius:27px;width:100%;height:100%;display:block;overflow:hidden}.device-screen img{object-fit:cover;width:100%;height:100%;display:block}.device-island{border-radius:var(--radius-pill);z-index:2;background:#000;width:32%;height:13px;position:absolute;top:15px;left:50%;transform:translate(-50%)}.device-showcase-backdrop{z-index:5;background:var(--bg-base);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.device-showcase-backdrop{background:color-mix(in srgb, var(--bg-base) 55%, transparent)}}.device-showcase-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@media (width<=640px){.device-frame{width:132px}.device-frame[data-active]{transform:scale(1.55)}}@media (prefers-reduced-motion:reduce){.device-marquee{overflow:auto hidden}.device-marquee-track{animation:none}.device-frame[data-active]{transform:none}}.pipeline-section{padding-top:clamp(32px,6vh,72px);padding-bottom:clamp(24px,4vh,48px)}.pipeline-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(36px,6vw,88px);display:grid}.pipeline-visual{justify-content:center;display:flex}.pipeline-svg{width:100%;max-width:330px;height:auto;overflow:visible}.pipeline-label{font-family:var(--font-mono);letter-spacing:.1em;fill:var(--text-primary);font-size:12px}.pipeline-note{font-family:var(--font-mono);letter-spacing:.04em;fill:var(--text-tertiary);font-size:10px}.pipeline-feedback{fill:none;stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:4 5}.pipeline-feedback-label{font-family:var(--font-mono);letter-spacing:.12em;fill:var(--text-tertiary);transform-origin:289px 257px;font-size:9px;transform:rotate(-90deg)}@media (width<=880px){.pipeline-grid{grid-template-columns:1fr;gap:28px}.pipeline-visual{order:2}.pipeline-copy{order:1}.pipeline-svg{max-width:300px}}.featured-section{padding-top:clamp(32px,6vh,72px);padding-bottom:clamp(32px,6vh,72px)}.featured-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(36px,6vw,88px);display:grid}.featured-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 20px;margin-top:24px;display:flex}.featured-actions .featured-tags{margin-top:0}.featured-tags{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.featured-visual{justify-content:center;display:flex}.featured-visual-card{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-1);width:100%;max-width:380px;text-decoration:none;display:block;position:relative;overflow:hidden}html.light .featured-visual-card{box-shadow:var(--shadow-md)}.featured-flag{border-radius:inherit;opacity:.75;transition:opacity var(--hover-dur) var(--hover-ease);position:absolute;inset:0}.featured-visual-card:hover .featured-flag,.featured-visual-card:focus-visible .featured-flag{opacity:1}.featured-visual-card:hover,.featured-visual-card:focus-visible{opacity:.85;background-position:0 12px,6px 18px}.featured-visual-body{z-index:1;flex-direction:column;align-items:center;gap:18px;padding:clamp(28px,4vw,40px) clamp(22px,3vw,32px);display:flex;position:relative}.featured-app-icon{border:1px solid var(--border-subtle);width:clamp(72px,9vw,96px);height:auto;box-shadow:var(--shadow-sm);border-radius:22.5%}.featured-wordmark{object-fit:contain;opacity:.92;width:min(70%,220px);height:auto}.featured-visual-meta{color:var(--text-tertiary)}@media (width<=880px){.featured-grid{grid-template-columns:1fr;gap:32px}.featured-visual-card{max-width:420px}}@media (prefers-reduced-motion:reduce){.featured-visual-card:hover{background-position:0 0,6px 6px}}.work-timeline{flex-direction:column;gap:28px;padding-left:26px;list-style:none;display:flex;position:relative}.work-timeline:before{content:"";border-left:2px dotted var(--border-strong);width:0;position:absolute;top:14px;bottom:14px;left:4px}.work-item{position:relative}.work-node{background:var(--bg-base);border:2px solid var(--text-tertiary);width:10px;height:10px;transition:border-color var(--dur-base) var(--ease-standard);border-radius:50%;position:absolute;top:26px;left:-26px}.work-item:hover .work-node{border-color:var(--text-primary)}.work-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 28px;display:flex}.work-header-text{min-width:0;max-width:640px}.work-toolkit-btn{cursor:pointer}.work-toolkit-btn svg{flex-shrink:0}.work-panel{cursor:pointer;transition:border-color var(--hover-dur) var(--hover-ease), box-shadow var(--hover-dur) var(--hover-ease), transform var(--hover-dur) var(--hover-ease);padding:clamp(18px,2.6vw,26px);position:relative}.work-item:hover .work-panel{border-color:var(--border-strong);transform:translateY(var(--hover-lift));box-shadow:var(--shadow-md)}@media (prefers-reduced-motion:reduce){.work-item:hover .work-panel{transform:none}}.work-panel-head{align-items:center;gap:14px;min-width:0;display:flex}.work-meta{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:8px 18px;margin-top:12px;padding-bottom:14px;display:flex}.work-bullets{flex-direction:column;gap:9px;list-style:none;display:flex}.work-bullets li{font-size:var(--fs-body);color:var(--text-secondary);padding-left:16px;line-height:1.6;position:relative}.work-bullets li:before{content:"";background:var(--text-tertiary);opacity:.7;border-radius:1px;width:5px;height:5px;position:absolute;top:.62em;left:0}.work-item[data-open] .work-node{border-color:var(--text-primary);background:var(--text-primary)}.work-summary{font-size:var(--fs-body);color:var(--text-secondary);margin-top:14px;line-height:1.65}.work-badges{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.work-expand{cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-primary);border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:7px;margin-top:16px;padding:0;font-weight:500;display:inline-flex}.work-expand:after{content:"";z-index:1;cursor:pointer;position:absolute;inset:0}.work-detail{overflow:hidden}.work-detail-inner{border-top:1px solid var(--border-subtle);margin-top:16px}.work-skills-scroller{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:14px;margin:0 -2px;padding:4px 2px 16px;display:flex;overflow:auto hidden}.work-skills-scroller::-webkit-scrollbar{height:6px}.work-skills-scroller::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.work-skill-card{scroll-snap-align:start;flex:0 0 clamp(220px,26vw,300px);min-width:0;padding:16px 18px}.work-main{width:100%}.work-skill-acc{padding:0 16px}.work-skill-acc summary{cursor:pointer;border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;list-style:none;display:flex}.work-skill-acc summary::-webkit-details-marker{display:none}.work-acc-mark{flex-shrink:0;width:11px;height:11px;position:relative}.work-acc-mark:before,.work-acc-mark:after{content:"";background:var(--text-tertiary);transition:transform var(--hover-dur) var(--hover-ease);position:absolute}.work-acc-mark:before{width:11px;height:1.5px;top:5px;left:0}.work-acc-mark:after{width:1.5px;height:11px;top:0;left:5px}.work-skill-acc[open] .work-acc-mark:after{transform:scaleY(0)}.work-acc-body{padding-bottom:16px}@media (width<=960px){.work-main{width:100%}}@media (width<=640px){.work-timeline{gap:20px;padding-left:18px}.work-node{left:-18px}.work-timeline:before{left:3px}}.skills-modal-backdrop{z-index:2000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.skills-modal{background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-xl);width:min(720px,100%);max-height:86vh;box-shadow:var(--shadow-lg);padding:24px;overflow-y:auto}.skills-modal-head{align-items:center;gap:14px;margin-bottom:6px;display:flex}.skills-modal-head .sheet-label-row{margin-bottom:0}.skills-modal-close{border-radius:var(--radius-sm);cursor:pointer;background:var(--surface-2);border:1px solid var(--border-subtle);width:32px;height:32px;color:var(--text-secondary);transition:color var(--hover-dur) var(--hover-ease), border-color var(--hover-dur) var(--hover-ease);flex-shrink:0;justify-content:center;align-items:center;display:flex}.skills-modal-close:hover{color:var(--text-primary);border-color:var(--border-strong)}.skills-modal-row{border-top:1px solid var(--border-subtle);padding:18px 0}.skills-modal-row:first-child{border-top:none;padding-top:12px}.skills-modal-row:last-child{padding-bottom:4px}.skills-modal-row-body{margin-top:12px}@media (width<=640px){.skills-modal-backdrop{padding:12px}.skills-modal{max-height:88vh;padding:18px 16px}}.support-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.support-card{color:inherit;flex-direction:column;gap:12px;min-height:200px;padding:24px;text-decoration:none;display:flex}.support-card-top{justify-content:space-between;align-items:flex-start;display:flex}.support-logo{border-radius:var(--radius-md);width:48px;height:48px;color:var(--support-accent,var(--text-primary));background:var(--support-accent,var(--accent));justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.support-logo{background:color-mix(in srgb, var(--support-accent,var(--accent)) 12%, transparent)}}.support-logo{transition:background var(--hover-dur) var(--hover-ease), color var(--hover-dur) var(--hover-ease)}.support-card:hover .support-logo{background:var(--support-accent,var(--accent))}@supports (color:color-mix(in lab, red, red)){.support-card:hover .support-logo{background:color-mix(in srgb, var(--support-accent,var(--accent)) 20%, transparent)}}.support-visit{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-tertiary);border:1px solid var(--border-subtle);transition:color var(--hover-dur) var(--hover-ease), border-color var(--hover-dur) var(--hover-ease);justify-content:center;align-items:center;display:inline-flex}.support-card:hover .support-visit{color:var(--text-primary);border-color:var(--border-strong)}.support-name{font-size:var(--fs-h2);color:var(--text-primary);letter-spacing:var(--tracking-tight);margin:0;font-weight:600}.support-desc{font-size:var(--fs-body);color:var(--text-secondary);flex:1;margin:0;line-height:1.65}.support-highlight{font-size:var(--fs-caption);color:var(--text-tertiary);font-family:var(--font-mono);align-items:center;gap:8px;margin:0;display:flex}.support-dot{background:var(--support-accent,var(--accent));border-radius:50%;flex-shrink:0;width:6px;height:6px}@media (width<=560px){.support-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.support-card{transition:none}}.case-cover{aspect-ratio:720/330;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;color:var(--text-primary);background:radial-gradient(circle at 18% 24%, var(--accent), transparent 34%), var(--surface-1);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.case-cover{background:radial-gradient(circle at 18% 24%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 34%), color-mix(in srgb, var(--surface-1) 92%, transparent)}}.case-cover-grid{opacity:.55;background-image:linear-gradient(var(--border-subtle) 1px, transparent 1px), linear-gradient(90deg, var(--border-subtle) 1px, transparent 1px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 94%);mask-image:linear-gradient(#000,#0000 94%)}.case-cover-svg{z-index:1;width:100%;height:100%;display:block;position:relative}.case-cover-caption{z-index:2;color:var(--text-tertiary);font-size:.58rem;position:absolute;bottom:12px;right:18px}.case-cover--compact{aspect-ratio:auto;background:var(--surface-1);border:0;border-radius:0;height:100%}@supports (color:color-mix(in lab, red, red)){.case-cover--compact{background:color-mix(in srgb, var(--surface-1) 86%, transparent)}}.case-cover--compact .case-cover-caption{display:none}.case-cover--compact .case-cover-svg{transform:scale(1.06)}.cover-muted{opacity:.32;stroke-width:1px}.cover-type{fill:var(--text-tertiary);font-family:var(--font-mono);letter-spacing:.12em;font-size:10px}.cover-nodes rect,.queue-cells rect{fill:var(--surface-1);stroke:var(--border-strong)}.cover-nodes circle{fill:var(--text-primary);opacity:.82}.cover-wave rect{fill:var(--text-primary);transform-origin:50%;animation:1.8s ease-in-out infinite alternate case-wave;animation-delay:calc(var(--bar-i) * -90ms)}@keyframes case-wave{0%,to{opacity:.5;transform:scaleY(.45)}50%{opacity:1;transform:scaleY(1)}}.cover-flow{stroke-dasharray:7 7;animation:2.8s linear infinite case-flow}.cover-flow--late{animation-delay:-.9s}.cover-flow--later{animation-delay:-1.7s}@keyframes case-flow{to{stroke-dashoffset:-28px}}.cover-lock{color:var(--text-secondary)}.cover-lock rect{fill:var(--surface-1);stroke:currentColor;stroke-width:1.5px}.log-lines{color:var(--text-secondary)}.log-lines circle{fill:currentColor}.log-lines path{fill:none;stroke:currentColor;stroke-width:2px;opacity:.72}.log-lines>g{animation:3.2s ease-in-out infinite case-log-pulse}.log-lines>g:nth-child(2){animation-delay:-2.1s}.log-lines>g:nth-child(3){animation-delay:-1s}@keyframes case-log-pulse{0%,to{opacity:.32;transform:translate(0)}45%{opacity:1;transform:translate(5px)}}.cover-db{fill:var(--surface-1)}@supports (color:color-mix(in lab, red, red)){.cover-db{fill:color-mix(in srgb, var(--surface-1) 90%, transparent)}}.cover-db{stroke:var(--border-strong);stroke-width:1.5px}.leaflet-window,.leaflet-files{fill:var(--surface-1)}@supports (color:color-mix(in lab, red, red)){.leaflet-window,.leaflet-files{fill:color-mix(in srgb, var(--surface-1) 88%, transparent)}}.leaflet-window,.leaflet-files{stroke:var(--border-strong);stroke-width:1.5px}.leaflet-window path,.leaflet-files path{fill:none}.leaflet-window circle{fill:var(--text-primary);stroke:none}.leaflet-window--back{opacity:.48;animation:5.2s ease-in-out infinite alternate leaflet-float-back}.leaflet-window--front{animation:4.4s ease-in-out infinite alternate leaflet-float}@keyframes leaflet-float{to{transform:translate(-3px,-7px)}}@keyframes leaflet-float-back{to{transform:translate(4px,3px)}}.case-study{margin-top:44px}.case-study-cover{margin-bottom:20px}.case-facts{border:1px solid var(--border-subtle);border-radius:var(--radius-md);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid;overflow:hidden}.case-fact{border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);min-width:0;padding:15px 18px}.case-fact:nth-child(3n){border-right:0}.case-fact:nth-last-child(-n+3){border-bottom:0}.case-fact dt{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--fs-overline);letter-spacing:var(--tracking-wide);text-transform:uppercase}.case-fact dd{color:var(--text-primary);font-size:var(--fs-caption);margin-top:6px;font-weight:600;line-height:1.4}.case-narrative{margin-top:clamp(58px,9vw,96px)}.case-narrative-row{border-top:1px solid var(--border-subtle);grid-template-columns:48px minmax(0,1fr);gap:clamp(18px,4vw,42px);padding:32px 0;display:grid}.case-narrative-row:last-child{border-bottom:1px solid var(--border-subtle)}.case-narrative-index{color:var(--text-tertiary);padding-top:5px}.case-narrative-eyebrow{color:var(--text-tertiary);margin-bottom:9px}.case-narrative-row h2,.case-architecture h2,.case-status-column h2,.case-logbook-demo h2{color:var(--text-primary);font-family:var(--font-display);letter-spacing:-.025em;max-width:26ch;font-size:clamp(1.35rem,2.6vw,2rem);font-weight:600;line-height:1.16}.case-narrative-row p:last-child,.case-logbook-demo>p{max-width:68ch;color:var(--text-secondary);font-size:var(--fs-body);margin-top:13px;line-height:1.75}.case-architecture{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-1);margin-top:clamp(60px,9vw,92px);padding:clamp(24px,4vw,38px)}@supports (color:color-mix(in lab, red, red)){.case-architecture{background:color-mix(in srgb, var(--surface-1) 70%, transparent)}}.case-architecture h2{margin-top:18px}.case-architecture-summary{max-width:65ch;color:var(--text-secondary);margin-top:12px;line-height:1.7}.case-architecture-flow{background:var(--border-subtle);border-radius:var(--radius-md);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:30px;padding:1px;list-style:none;display:grid;overflow:hidden}.case-architecture-flow li{background:var(--surface-1);min-height:106px;padding:17px;position:relative}.case-architecture-flow li:not(:last-child):after{content:"→";z-index:2;background:var(--text-primary);width:16px;height:16px;color:var(--bg-base);border-radius:50%;place-items:center;font-size:10px;display:grid;position:absolute;top:50%;right:-8px;transform:translateY(-50%)}.case-architecture-flow span{color:var(--text-tertiary)}.case-architecture-flow strong{color:var(--text-primary);font-size:var(--fs-caption);margin-top:14px;line-height:1.45;display:block}.case-status{margin-top:clamp(60px,9vw,92px)}.case-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px;display:grid}.case-status-column{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-1);padding:clamp(21px,3vw,30px)}@supports (color:color-mix(in lab, red, red)){.case-status-column{background:color-mix(in srgb, var(--surface-1) 76%, transparent)}}.case-status-column[data-state=current]{border-top:2px solid var(--status-success)}.case-status-column[data-state=planned]{border-top:2px dashed var(--text-tertiary)}.case-status-column h2{font-size:var(--fs-body-lg);max-width:none}.case-status-column ul{gap:13px;margin-top:20px;list-style:none;display:grid}.case-status-column li{color:var(--text-secondary);font-size:var(--fs-caption);padding-left:22px;line-height:1.6;position:relative}.case-status-column li:before{content:"";border:1px solid;border-radius:50%;width:7px;height:7px;position:absolute;top:.62em;left:1px}.case-status-column[data-state=current] li:before{border-color:var(--status-success);background:var(--status-success)}.case-logbook-demo,.case-code-section{margin-top:clamp(60px,9vw,92px)}.case-logbook-demo h2{max-width:none;margin-top:18px}.logbook-terminal{--terminal-ink:#fafaf8f0;border-radius:var(--radius-lg);width:100%;min-height:270px;box-shadow:var(--shadow-lg);color:var(--terminal-ink);background:#111210;border:1px solid #fafaf821;margin-top:28px;overflow:hidden}.logbook-terminal-bar{color:#fafaf87a;min-height:42px;font-family:var(--font-mono);text-align:center;background:#1a1b18;border-bottom:1px solid #fafaf81a;grid-template-columns:100px minmax(0,1fr) 100px;align-items:center;padding:0 14px;font-size:.68rem;display:grid}.logbook-terminal-dots{gap:6px;display:flex}.logbook-terminal-dots i{background:#fafaf838;border-radius:50%;width:9px;height:9px}.logbook-terminal-live{text-align:right}.logbook-terminal-body{min-height:226px;font-family:var(--font-mono);align-content:start;gap:13px;padding:clamp(18px,3vw,28px);font-size:clamp(.68rem,1.4vw,.81rem);line-height:1.55;display:grid}.logbook-terminal-line{animation:logbook-line-in .36s var(--ease-emphasized) both;overflow-wrap:anywhere;grid-template-columns:52px minmax(0,1fr);gap:10px;display:grid}@keyframes logbook-line-in{0%{opacity:0;transform:translateY(6px)}}.logbook-terminal-level{color:#8ab4a0;font-weight:700}.logbook-terminal-line[data-level=warn] .logbook-terminal-level{color:#d7b76c}.logbook-terminal-line[data-level=error] .logbook-terminal-level{color:#df827c}.logbook-terminal-cursor{background:#fafaf8cc;width:8px;height:16px;animation:1.1s step-end infinite logbook-cursor}@keyframes logbook-cursor{50%{opacity:0}}.case-code-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.case-code-card{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#111210;min-width:0;overflow:hidden}.case-code-heading{color:#fafaf8bd;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:#1a1b18;border-bottom:1px solid #fafaf81a;justify-content:space-between;gap:18px;padding:11px 15px;font-size:.68rem;display:flex}.case-code-heading span:last-child{color:#fafaf866}.case-code-card pre{color:#fafaf8e0;min-height:100%;font-family:var(--font-mono);tab-size:2;padding:18px;font-size:.72rem;line-height:1.75;overflow-x:auto}.case-code-card pre:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.featured-project-row+.featured-project-row{border-top:1px solid var(--border-subtle);margin-top:clamp(64px,10vw,112px);padding-top:clamp(50px,7vw,76px)}.featured-project-row--murmur{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.featured-project-kicker{color:var(--text-tertiary);margin-bottom:11px}.featured-visual-card--schematic{background:0 0;border:0;max-width:440px}.featured-visual-card--schematic:hover,.featured-visual-card--schematic:focus-visible{opacity:1}.featured-visual-card--schematic .case-cover{aspect-ratio:720/390}@media (width<=760px){.case-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.case-fact:nth-child(3n){border-right:1px solid var(--border-subtle)}.case-fact:nth-child(2n){border-right:0}.case-fact:nth-last-child(-n+3){border-bottom:1px solid var(--border-subtle)}.case-fact:nth-last-child(-n+2){border-bottom:0}.case-architecture-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.case-status-grid,.case-code-grid{grid-template-columns:1fr}}@media (width<=880px){.featured-project-row--murmur{grid-template-columns:1fr}.featured-project-row--murmur .featured-copy{order:1}.featured-project-row--murmur .featured-visual{order:2}}@media (width<=520px){.case-cover-caption{display:none}.case-facts{grid-template-columns:1fr}.case-fact,.case-fact:nth-child(2n),.case-fact:nth-child(3n),.case-fact:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--border-subtle)}.case-fact:last-child{border-bottom:0}.case-narrative-row{grid-template-columns:30px minmax(0,1fr);gap:12px}.case-architecture{padding:20px 15px}.case-architecture-flow{grid-template-columns:1fr}.case-architecture-flow li{min-height:84px}.case-architecture-flow li:not(:last-child):after{top:auto;bottom:-8px;right:50%;transform:translate(50%)rotate(90deg)}.logbook-terminal-bar{grid-template-columns:70px minmax(0,1fr)}.logbook-terminal-live{display:none}.logbook-terminal-line{grid-template-columns:44px minmax(0,1fr);gap:7px}}@media (prefers-reduced-motion:reduce){.cover-wave rect,.cover-flow,.log-lines>g,.leaflet-window,.logbook-terminal-line,.logbook-terminal-cursor{animation:none}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;min-height:100%}html{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;position:relative}body{font-family:var(--font-body);font-optical-sizing:auto;-moz-osx-font-smoothing:grayscale;background:var(--bg-base);color:var(--text-primary);transition:background var(--dur-theme) var(--ease-standard), color var(--dur-base) var(--ease-standard);overflow-x:hidden}h1,h2,.font-display{font-family:var(--font-display);letter-spacing:var(--tracking-tight);font-weight:600}.font-mono{font-family:var(--font-mono)}::selection{background:var(--accent);color:var(--accent-contrast)}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}html.theme-crt::view-transition{background:#000}html.theme-crt::view-transition-old(root){animation:.34s cubic-bezier(.6,0,.85,.45) forwards crt-off}html.theme-crt::view-transition-new(root){animation:.46s cubic-bezier(.16,.9,.25,1) .32s backwards crt-on}@keyframes crt-off{0%{filter:brightness();transform:scaleY(1)}60%{filter:brightness(2.4);transform:scaleY(.012)}to{filter:brightness(6);opacity:1;transform:scaleY(.004)scaleX(.4)}}@keyframes crt-on{0%{filter:brightness(6);transform:scaleY(.004)scaleX(.4)}38%{filter:brightness(2.6);transform:scaleY(.012)scaleX(1)}to{filter:brightness();transform:scaleY(1)scaleX(1)}}.aurora-bg{z-index:0;pointer-events:none;background:radial-gradient(55% 50% at 18% 18%, var(--accent), transparent 70%), radial-gradient(50% 50% at 84% 14%, var(--accent-2), transparent 70%), radial-gradient(60% 60% at 76% 84%, var(--accent), transparent 72%), radial-gradient(70% 60% at 30% 88%, var(--accent-2), transparent 72%), var(--bg-base);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.aurora-bg{background:radial-gradient(55% 50% at 18% 18%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 70%), radial-gradient(50% 50% at 84% 14%, color-mix(in srgb, var(--accent-2) 6%, transparent), transparent 70%), radial-gradient(60% 60% at 76% 84%, color-mix(in srgb, var(--accent) 5%, transparent), transparent 72%), radial-gradient(70% 60% at 30% 88%, color-mix(in srgb, var(--accent-2) 4%, transparent), transparent 72%), var(--bg-base)}}.aurora-bg{transition:background var(--dur-theme) var(--ease-standard);animation:28s ease-in-out infinite alternate aurora-drift}@keyframes aurora-drift{0%{transform:translate(0)scale(1)}to{transform:translateY(-1.5%)scale(1.05)}}@media (prefers-reduced-motion:reduce){.aurora-bg{animation:none}}.screen-scroll{overflow:hidden auto}.screen-scroll::-webkit-scrollbar{width:3px}.screen-scroll::-webkit-scrollbar-track{background:0 0}.screen-scroll::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:3px}.screen-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.gradient-text{background:linear-gradient(115deg, var(--text-primary) 0%, var(--text-primary) 55%, var(--text-secondary) 110%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.logo-mark{-webkit-mask:var(--logo-src) center / contain no-repeat;-webkit-mask:var(--logo-src) center / contain no-repeat;-webkit-mask:var(--logo-src) center / contain no-repeat;-webkit-mask:var(--logo-src) center / contain no-repeat;mask:var(--logo-src) center / contain no-repeat;background:currentColor;display:block}@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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
