*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-jp),ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono),monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.absolute{position:absolute}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.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)}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/zen-kaku-gothic-new-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/zen-kaku-gothic-new-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/zen-kaku-gothic-new-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:900;src:url(/fonts/zen-kaku-gothic-new-latin-900-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/zen-kaku-gothic-new-japanese-400-normal.woff2) format("woff2");unicode-range:U+3000-30FF,U+31F0-31FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/zen-kaku-gothic-new-japanese-500-normal.woff2) format("woff2");unicode-range:U+3000-30FF,U+31F0-31FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/zen-kaku-gothic-new-japanese-700-normal.woff2) format("woff2");unicode-range:U+3000-30FF,U+31F0-31FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:900;src:url(/fonts/zen-kaku-gothic-new-japanese-900-normal.woff2) format("woff2");unicode-range:U+3000-30FF,U+31F0-31FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/space-grotesk-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/space-grotesk-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/space-grotesk-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-mono-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--color-bg: #10182f;--color-bg-deep: #0c1226;--color-surface: #131c38;--color-surface-faint: rgba(244, 246, 251, .04);--color-text: #f4f6fb;--color-text-body: #c3cadf;--color-text-secondary: #aeb8d6;--color-text-muted: #8b96b8;--color-text-faint: #6e7ba3;--color-accent: #5b78ff;--color-accent-soft: #9fb1ff;--color-accent-tint: rgba(91, 120, 255, .16);--color-accent-marker: rgba(91, 120, 255, .4);--color-on-accent: #fff;--border-hairline: rgba(244, 246, 251, .08);--border-default: rgba(244, 246, 251, .14);--border-strong: rgba(244, 246, 251, .18);--border-chip: rgba(244, 246, 251, .25);--border-button: rgba(244, 246, 251, .35);--stroke-ghost: rgba(159, 177, 255, .14);--stroke-number: rgba(159, 177, 255, .38);--font-jp: "Zen Kaku Gothic New", "Hiragino Sans", sans-serif;--font-display: "Space Grotesk", sans-serif;--font-mono: "IBM Plex Mono", monospace;--text-hero: clamp(52px, 9.6vw, 150px);--text-h1: clamp(26px, 4vw, 40px);--text-section: clamp(30px, 3.4vw, 44px);--text-statement: clamp(17px, 2vw, 24px);--text-card-title: 17.5px;--text-body: 14.5px;--text-list: 14px;--text-label: 13px;--text-caption: 12.5px;--leading-body: 2.1;--leading-tight: 1.06;--section-pad-y: 12vh;--section-pad-x: 5vw;--card-pad: 30px;--gap-card: 22px;--gap-inline: 14px;--gap-list: 9px;--radius-card: 16px;--radius-icon: 13px;--radius-pill: 999px;--shadow-screenshot: 0 24px 50px rgba(0, 0, 0, .5);--vision-image-opacity: 1;--vision-image-overlay: linear-gradient( 90deg, rgba(16, 24, 47, .92) 0%, rgba(16, 24, 47, .72) 52%, rgba(16, 24, 47, .62) 76%, rgba(16, 24, 47, .82) 100% );--vision-image-overlay-mobile: linear-gradient( 180deg, rgba(16, 24, 47, .7) 0%, rgba(16, 24, 47, .84) 50%, #10182f 100% );--ease-reveal: cubic-bezier(.2, .7, .2, 1);--duration-reveal: .8s;--duration-hover: .25s}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;min-width:320px;background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-jp);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{position:fixed;inset:0;z-index:-1;background-image:radial-gradient(rgba(244,246,251,.08) 1px,transparent 1px);background-size:26px 26px;content:""}::-moz-selection{background:var(--color-accent);color:var(--color-on-accent)}::selection{background:var(--color-accent);color:var(--color-on-accent)}a{color:var(--color-accent-soft);text-decoration-thickness:1px;text-underline-offset:.18em;transition:color var(--duration-hover) ease,border-color var(--duration-hover) ease,background-color var(--duration-hover) ease,filter var(--duration-hover) ease}a:hover{color:var(--color-text)}:focus-visible{outline:2px solid var(--color-accent-soft);outline-offset:3px}.skip-link{text-decoration:none;transition:none}.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);margin:-1px;padding:0;white-space:nowrap}.skip-link:focus{position:fixed;top:16px;left:24px;z-index:120;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid transparent;border-radius:var(--radius-pill);background:var(--color-text);color:var(--color-bg);font-size:14px;font-weight:700;line-height:1.2;padding:14px 26px;text-decoration:none}[hidden]{display:none!important}button,a{touch-action:manipulation}.site-main{min-height:calc(100vh - 142px)}.site-main:focus{outline:none}.site-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-hairline);background:#10182fd1;padding:18px 5vw;backdrop-filter:blur(10px)}.site-logo{color:var(--color-text);font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:.08em;text-decoration:none}.site-logo span{color:var(--color-accent)}.site-header__right{display:flex;align-items:center;gap:24px}.site-nav{display:flex;gap:24px;font-family:var(--font-mono);font-size:var(--text-label);font-weight:500}.site-nav a{position:relative;display:inline-flex;align-items:center;color:var(--color-text-secondary);text-decoration:none}.site-nav a:before{position:absolute;inset:-12px -5px;content:""}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-text)}.lang-pill{display:flex;gap:2px;border-radius:var(--radius-pill);background:#f4f6fb1a;padding:3px;font-family:var(--font-mono);font-size:12px;font-weight:700}.lang-pill a,.lang-pill button{position:relative;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-secondary);cursor:pointer;font:inherit;line-height:1;padding:5px 13px;text-decoration:none}.lang-pill a:before,.lang-pill button:before{position:absolute;inset:-7px -1px;content:""}.lang-pill a[aria-current=page],.lang-pill button[aria-pressed=true]{background:var(--color-text);color:var(--color-bg)}.site-footer{border-top:1px solid var(--border-default);margin-top:60px}.site-footer--compact{margin-top:0}.site-footer__inner{display:flex;width:min(100% - 48px,1040px);margin-inline:auto;justify-content:space-between;gap:10px;color:var(--color-text-faint);font-family:var(--font-mono);font-size:var(--text-caption);font-weight:500;padding:26px 0}.site-footer__inner--compact{justify-content:center;width:min(100% - 48px,860px)}.site-footer__links{display:flex;flex-wrap:wrap;gap:18px}.site-footer a{position:relative;display:inline-flex;align-items:center;color:var(--color-text-faint);text-decoration:none}.site-footer a:before{position:absolute;inset:-10px -9px;content:""}.site-footer a:hover{color:var(--color-text)}.container{width:min(100% - 48px,1040px);margin-inline:auto}.container--narrow{width:min(100% - 48px,860px)}.page-shell{position:relative;padding:72px 24px 40px}.page-shell--roomy{padding-top:96px}.page-ghost-x,.page-ghost-404{position:absolute;z-index:-1;color:transparent;font-family:var(--font-display);font-weight:700;line-height:1;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-text-stroke:1.5px var(--stroke-ghost)}.page-ghost-x{top:-30px;right:-10px;font-size:clamp(120px,18vw,220px)}.page-ghost-404{top:50%;left:50%;font-size:clamp(260px,40vw,520px);white-space:nowrap;transform:translate(-50%,-50%);-webkit-text-stroke-width:2px}.eyebrow{margin:0 0 18px;color:var(--color-accent-soft);font-family:var(--font-mono);font-size:var(--text-label);font-weight:500;letter-spacing:.24em;text-transform:uppercase}.section-title{margin:0;font-family:var(--font-display);font-size:var(--text-section);font-weight:700;letter-spacing:.02em;line-height:1.16}.section-title--small{font-size:22px}.section-accent{color:var(--color-accent)}.page-title{margin:0;font-size:var(--text-h1);font-weight:900;line-height:1.6;text-wrap:pretty}.page-title--large{font-size:clamp(32px,6vw,56px);line-height:1.4}.statement{margin:0;font-size:clamp(22px,2.6vw,34px);font-weight:900;line-height:1.8;text-wrap:pretty}.body-text,.muted{color:var(--color-text-secondary);font-size:var(--text-body);line-height:var(--leading-body)}.body-text--bright{color:var(--color-text-body)}.marker{background:linear-gradient(transparent 72%,var(--color-accent-marker) 72%)}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid transparent;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);font-size:14px;font-weight:700;line-height:1.2;padding:13px 26px;text-decoration:none}.button:after{position:absolute;inset:-3px;content:""}.button:hover{color:var(--color-on-accent);filter:brightness(1.15)}.button--density-hero{padding:14px 30px}.button--secondary.button--density-hero{padding:13px 28px}.button--density-compact{padding:11px 22px}.button--secondary.button--density-compact{padding:10px 20px;font-size:13.5px}.button--density-standard{padding:13px 26px}.button--density-document{padding:12px 26px;font-size:13.5px}.button--density-large{padding:15px 30px;font-size:15px}.button--secondary{border-color:var(--border-button);background:transparent;color:var(--color-text)}.button--secondary:hover{border-color:var(--color-accent);color:var(--color-accent);filter:none}.button--white{background:var(--color-text);color:var(--color-bg)}.button--white:focus-visible{outline-color:var(--color-accent);outline-width:3px}.button--white:hover{background:var(--color-accent);color:var(--color-on-accent);filter:none}.button-row{display:flex;flex-wrap:wrap;gap:var(--gap-inline);align-items:center}.chip,.tag{display:inline-flex;align-items:center;border:1px solid var(--border-chip);border-radius:var(--radius-pill);color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-caption);font-weight:500;line-height:1;padding:5px 12px;white-space:nowrap}.tag-filter{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:var(--color-text-muted);font-size:var(--text-caption)}.filter-chip{display:inline-flex;min-height:44px;align-items:center;border:1px solid var(--border-chip);border-radius:var(--radius-pill);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-caption);font-weight:500;padding:5px 14px}.filter-chip[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-accent-soft)}.status-badge{display:inline-flex;align-items:center;border-radius:5px;background:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-mono);font-size:12px;font-weight:600;line-height:1;padding:5px 11px;text-transform:uppercase}.status-badge--wip{border:1px solid var(--border-chip);background:transparent;color:var(--color-text-muted)}.card{border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--color-surface-faint);padding:var(--card-pad)}.card--solid{background:var(--color-surface)}.grid-card-group{display:grid;gap:1px;overflow:hidden;border:1px solid var(--border-strong);border-radius:18px;background:var(--border-strong)}.grid-card-group--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-card-group>*{min-width:0;background:var(--color-surface);padding:34px 30px}.plus-list,.dash-list{display:flex;flex-direction:column;gap:var(--gap-list);margin:0;padding:0;list-style:none}.plus-list li,.dash-list li{display:flex;gap:8px;color:var(--color-text-secondary);font-size:var(--text-list);line-height:1.9}.plus-list li:before{color:var(--color-accent);content:"＋"}.dash-list li:before{color:var(--color-accent);content:"—"}.pill-link{position:relative;display:inline-flex;box-sizing:border-box;align-items:center;border:1px solid var(--border-chip);border-radius:var(--radius-pill);color:var(--color-accent-soft);padding:8px 16px;text-decoration:none}.pill-link:before{position:absolute;inset:-5px -3px;content:""}.pill-link--project{padding:9px 18px}.text-grid-label{margin:0 0 14px;color:var(--color-accent-soft);font-family:var(--font-mono);font-size:var(--text-label);font-weight:500;letter-spacing:.18em;text-transform:uppercase}.cursor-dot,.cursor-ring{display:none;position:fixed;pointer-events:none;z-index:9999}.cursor-dot{top:-4px;left:-4px;width:8px;height:8px;border-radius:50%;background:var(--color-accent)}.cursor-ring{top:-19px;left:-19px;z-index:9998;width:38px;height:38px;border:1.5px solid var(--color-accent);border-radius:50%;opacity:.6}.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity var(--duration-reveal) var(--ease-reveal),transform var(--duration-reveal) var(--ease-reveal)}[data-reveal].on{opacity:1;transform:none}@keyframes floaty{0%,to{transform:translateY(0) rotate(var(--r, 0deg))}50%{transform:translateY(-12px) rotate(var(--r, 0deg))}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.floaty{animation:floaty 6s ease-in-out infinite}.spin-slow{animation:spin-slow 26s linear infinite}@media(pointer:fine)and (hover:hover){.js .cursor-dot,.js .cursor-ring{display:block}}.app-shot{display:block;border-radius:var(--radius-card);box-shadow:var(--shadow-screenshot);animation-delay:var(--delay, 0s)}.app-shots--project{display:flex;align-items:flex-start;justify-content:center;gap:22px}.app-shots--project .app-shot{width:min(30vw,200px);height:auto}.app-shots--project .app-shot--2{margin-top:26px}.app-shots--featured{position:absolute;inset:0}.app-shots--featured .app-shot{position:absolute;width:180px;height:auto}.app-shots--featured .app-shot--1{top:48px;left:4%}.app-shots--featured .app-shot--2{top:104px;left:24%}.app-shots--featured .app-shot--3{top:56px;left:44%}.legal-section{border-top:1px solid var(--border-default);margin-top:40px;padding-top:34px}.legal-section h2{margin:0 0 14px;font-size:20px;font-weight:900;line-height:1.6}.legal-subsection{margin-top:22px;border:1px solid var(--border-default);border-radius:14px;background:var(--color-surface);padding:22px 24px}.legal-subsection h3{margin:0 0 12px;font-size:15.5px;font-weight:700;line-height:1.7}.legal-page__intro{max-width:40em;margin:20px 0 0;font-size:15px}.legal-page__updated{margin:14px 0 0;color:var(--color-text-faint);font-family:var(--font-mono);font-size:var(--text-caption);font-weight:500}.legal-page .legal-section .body-text{margin:0 0 12px}.legal-contact-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--color-surface-faint);margin-top:48px;padding:26px 28px}.legal-contact-card p{max-width:34em;margin:0;color:var(--color-text-body);font-size:var(--text-list);line-height:2}.legal-related{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;font-family:var(--font-mono);font-size:var(--text-label);font-weight:500}.home-hero{position:relative;overflow:hidden;padding:12vh 5vw 10vh}.home-hero__ghost{position:absolute;top:50%;left:50%;color:transparent;font-family:var(--font-display);font-size:clamp(320px,44vw,640px);font-weight:700;line-height:1;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transform:translate(-50%,-50%);-webkit-text-stroke:2px rgba(159,177,255,.16)}.home-hero__content{position:relative;z-index:1}.home-hero__title{margin:0;color:var(--color-text);font-family:var(--font-display);font-size:var(--text-hero);font-weight:700;letter-spacing:.01em;line-height:1.04;text-wrap:balance}.home-hero__title-accent{color:transparent;-webkit-text-stroke:2.5px var(--color-accent)}.home-hero__statement{margin:34px 0 0;color:var(--color-text);font-size:var(--text-statement);font-weight:700;line-height:2;text-wrap:pretty}.home-hero__buttons{margin-top:32px}.spin-badge{position:absolute;top:8vh;right:5vw;width:280px;height:280px;opacity:.95;pointer-events:none}.spin-badge svg{width:280px;height:280px}.spin-badge text{fill:#f4f6fb8c;font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:.26em}.home-section{padding:var(--section-pad-y) var(--section-pad-x);scroll-margin-top:70px}.home-section--works,.home-section--about{padding-top:4vh}.home-section--vision{position:relative;isolation:isolate;overflow:hidden}.home-section--vision:before,.home-section--vision:after{position:absolute;inset:0;z-index:0;content:"";pointer-events:none}.home-section--vision:before{background:url(/assets/vision-becoming-able.webp) 72% center / cover no-repeat;opacity:var(--vision-image-opacity)}.home-section--vision:after{background:var(--vision-image-overlay)}.home-section--vision>*{position:relative;z-index:1}.home-section__statement{max-width:26em;margin:0 0 40px}.vision-keyword{margin:0 0 12px;color:var(--color-accent);font-size:22px;font-weight:900;line-height:1.5}.section-heading-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:26px}.featured-work{position:relative;overflow:hidden;min-height:520px;border:1px solid var(--border-strong);border-radius:22px;background:var(--color-surface-faint)}.featured-work__body{position:absolute;top:56px;right:4%;width:270px}.featured-work__body h3{margin:0;font-size:30px;font-weight:900;line-height:1.4}.featured-work__body h3 span{color:var(--color-text-muted);font-size:.5em;font-weight:500}.featured-work__body .button-row,.featured-work__body .chip-row{margin-top:16px}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.featured-work__ghost{position:absolute;bottom:26px;left:4%;color:transparent;font-family:var(--font-display);font-size:clamp(34px,4.6vw,64px);font-weight:700;letter-spacing:.02em;line-height:1;white-space:nowrap;-webkit-text-stroke:1px rgba(244,246,251,.25)}.more-projects-heading{display:flex;align-items:baseline;gap:14px;margin:44px 0 14px}.more-projects-heading h3{margin:0;color:var(--color-text-secondary);font-family:var(--font-display);font-size:20px;font-weight:700}.more-projects-heading span{color:var(--color-text-faint);font-family:var(--font-mono);font-size:var(--text-label);font-weight:500}.more-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.more-project-card{display:flex;min-width:0;flex-direction:column;gap:10px;border:1px dashed var(--border-chip);border-radius:14px;padding:24px}.more-project-card>div{display:flex;align-items:center;justify-content:space-between}.more-project-card>div>span:first-child{color:var(--color-text-faint);font-family:var(--font-mono);font-size:var(--text-label);font-weight:500}.more-project-card h4{margin:0;font-size:var(--text-card-title);font-weight:700}.more-project-card p{margin:0;color:var(--color-text-secondary);font-size:var(--text-list);line-height:1.9}.about-intro{max-width:42em;margin:0 0 40px}.about-intro span{display:block;margin-top:10px;color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-label);font-weight:500}.about-grid h3{margin:0 0 14px;font-size:16px;font-weight:700}.about-grid--lower{margin-top:40px}.friend-link{margin-top:14px;border-top:1px solid var(--border-default);padding-top:14px}.friend-link a{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:12px;color:var(--color-text);text-decoration:none}.friend-link strong,.friend-link small{display:block}.friend-link strong{font-size:15px}.friend-link small{color:var(--color-text-secondary);font-size:13.5px;font-weight:400;line-height:1.8}.friend-link a>span:last-child{color:var(--color-accent);font-size:17px}.home-contact{border-top:1px solid var(--border-strong);padding:12vh 5vw 8vh;scroll-margin-top:70px}.home-contact__inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.home-contact h2{margin:0;font-size:clamp(30px,4.6vw,52px);font-weight:900;line-height:1.5}.home-contact p.body-text{max-width:34em;margin:14px 0 0}.project-detail__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.project-detail__title-row h1 span{display:inline-block;color:var(--color-text-muted);font-size:.45em;font-weight:500;white-space:nowrap}.project-detail .page-title--large{font-size:clamp(30px,5vw,52px)}.project-detail__lead{max-width:44em;margin:18px 0 0;font-size:15.5px}.project-detail__chips{margin-top:16px}.project-detail__shots{margin-top:44px}.project-detail__overview{border-top:1px solid var(--border-default);margin-top:52px;padding-top:36px}.project-detail__overview p{max-width:46em;margin:14px 0 0;font-size:15px;line-height:2.2;text-wrap:pretty}.project-detail__split{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-card);margin-top:44px}.project-download{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.project-download p{margin:0}.project-download__row{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.project-download__row img{box-sizing:border-box;width:96px;height:96px;border-radius:12px;background:#fff;padding:6px}.project-story{margin-top:56px}.project-story__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap-card);margin-top:22px}.project-story__head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.project-story__head h3{margin:0;font-size:var(--text-card-title);font-weight:900;line-height:1.5}.project-story .body-text{margin:0 0 12px}.icon-tile{display:inline-flex;flex:none;width:46px;height:46px;align-items:center;justify-content:center;border-radius:var(--radius-icon);background:var(--color-accent-tint)}.icon-tile svg{width:22px;height:22px}.icon-tile circle,.icon-tile path{stroke:var(--color-accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-tile circle:nth-of-type(n+2),.icon-tile path[d*="M10 8.5"]{fill:var(--color-accent);stroke:none}.icon-tile path[d*="M5 19.5"]{stroke-width:2.6}.project-legal-links{border-top:1px solid var(--border-default);margin-top:56px;padding-top:36px}.project-legal-links>div{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px;font-family:var(--font-mono);font-size:var(--text-label);font-weight:500}.contact-page__lead{max-width:38em;margin:20px 0 0;font-size:15px}.contact-page__cta{margin-top:36px}.contact-page__cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-card);margin-top:56px}.contact-page__cards .body-text{margin:0}.contact-page__links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;font-family:var(--font-mono);font-size:var(--text-label);font-weight:500}.not-found-body{min-height:100vh}.not-found-body .site-main{min-height:calc(100vh - 135px)}.not-found-page{position:relative;display:flex;min-height:calc(100vh - 135px);flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:60px 24px;text-align:center}.not-found-page__content{position:relative;display:flex;max-width:32em;flex-direction:column;align-items:center;gap:18px}.not-found-page__content .eyebrow,.not-found-page__content .body-text,.not-found-page__content .page-title{margin:0}.not-found-page__content .button{margin-top:10px}@media(max-width:960px){.site-header:not(.site-header--subpage) .site-nav{display:none}.grid-card-group--3{grid-template-columns:1fr}.home-section--vision:before{background-position:72% top;background-repeat:no-repeat;background-size:auto min(70vh,640px)}.home-section--vision:after{background:var(--vision-image-overlay-mobile)}.app-shots--featured{position:static;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.app-shots--featured .app-shot{position:static;width:140px}.spin-badge{top:10px;right:16px;width:96px;height:96px;opacity:.8}.spin-badge svg{width:96px;height:96px}.featured-work{min-height:auto;padding:30px}.featured-work__body{position:static;width:auto;margin-top:26px}.featured-work__ghost{display:none}.more-projects{grid-template-columns:1fr}.home-contact__inner{flex-direction:column;align-items:flex-start}.project-detail__split,.project-story__grid,.contact-page__cards{grid-template-columns:1fr}}@media(max-width:760px){.site-header--subpage .site-nav{display:none}.site-footer__inner{flex-direction:column;align-items:flex-start}.site-footer__inner--compact{align-items:center}.container,.container--narrow{width:min(100% - 32px,1040px)}.page-shell,.page-shell--roomy{padding-inline:16px;padding-top:56px}.app-shots--project{flex-wrap:wrap}.app-shots--project .app-shot{width:min(42vw,164px)}}@media(pointer:coarse){[data-cursor]{display:none!important}}@media(hover:none){[data-cursor]{display:none!important}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}[data-reveal]{opacity:1;transform:none}.floaty,.spin-slow{animation:none!important}}@media(forced-colors:active){body:before,.home-hero__ghost,.page-ghost-x,.page-ghost-404,.featured-work__ghost{display:none}.button{border:1px solid ButtonText}}
