/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-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-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@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:"JetBrains Mono", ui-monospace, monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:6px;--radius-md:.75rem;--radius-lg:1rem;--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-cream:#f6f3f9;--color-violet:#8b5cf6;--color-violet-bright:#a78bfa;--color-violet-deep:#6d28d9;--color-ink:#1a0f2e;--color-ink-subtle:rgb(from var(--color-ink) r g b / .6);--color-ink-faint:rgb(from var(--color-ink) r g b / .1);--color-violet-wash:rgb(from var(--color-violet) r g b / .03);--color-violet-subtle:rgb(from var(--color-violet) r g b / .06);--color-violet-tint:rgb(from var(--color-violet) r g b / .08);--color-violet-soft:rgb(from var(--color-violet) r g b / .12);--color-violet-medium:rgb(from var(--color-violet) r g b / .18);--color-violet-strong:rgb(from var(--color-violet) r g b / .3);--color-cyan:#00d4ff;--color-cream-dark:#e8dff2;--color-danger:#d6284a;--color-danger-strong:#b3142f;--color-ink-deep:#120a20;--color-ink-deeper:#0a0612;--color-cream-light:#f8f7fc;--color-gold:#febc2e;--color-coral:#ff5f57;--color-amber:#b25e00;--color-magenta:#f0a;--color-cta-glow:#6b20f1;--color-cta-glow-hover:#7e2fff;--color-marker-glow:#8e42ff;--font-display:"Clash Display", sans-serif;--font-body:"Satoshi", system-ui, sans-serif;--font-accent:"Cabinet Grotesk", sans-serif;--font-signature:"NinjaKage", "Melodrama", serif;--text-eyebrow:.65rem;--text-micro:.7rem;--text-label:.72rem;--text-caption:.75rem;--text-meta:.78rem;--text-code:.8rem;--text-note:.82rem;--text-body-sm:.85rem;--text-console:.9rem;--text-editor:.95rem;--text-body:1rem;--tracking-label-sm:1px;--tracking-label:2px;--tracking-label-lg:3px;--radius-key:7px;--radius-cell:3px;--spacing-control-h:3.25rem;--spacing-tap-sm:44px;--spacing-tap:46px;--spacing-tap-lg:48px;--spacing-tight:5px;--spacing-tight-md:6px;--spacing-dot:var(--spacing-tight);--spacing-dot-lg:10px;--spacing-console-indent:14px;--spacing-inline-xs:.35rem;--spacing-inline-sm:.45rem;--spacing-cta-pad-y:.55rem;--spacing-inline-md:.65rem;--spacing-key-pad-y:.4rem;--spacing-pill-pad-x:.7rem;--spacing-input-pad-x:1.1rem;--outline-offset-focus:3px;--leading-compact:1.45;--drop-shadow-sprite:0 3px 6px rgb(from var(--color-ink) r g b / .3);--drop-shadow-marker:0 0 8px rgb(from var(--color-marker-glow) r g b / .18);--ease-standard:ease;--ease-glide:cubic-bezier(.16, 1, .3, 1);--ease-swoop:cubic-bezier(.2, 0, 0, 1);--ease-emphasis:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-door:cubic-bezier(.76, 0, .24, 1);--ease-track:cubic-bezier(.76, 0, .18, 1)}}@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]){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;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}body{font-family:var(--font-body);background:var(--cream);color:var(--ink);overflow-wrap:break-word;overflow-x:hidden}:focus-visible{outline:2px solid var(--violet);outline-offset:2px}}@layer components;@layer utilities{.\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.-top-\[100px\]{top:-100px}.top-\(--session-badge-inset-block\){top:var(--session-badge-inset-block)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-\[15\.65\%\]{top:15.65%}.top-\[23\.77\%\]{top:23.77%}.top-\[56\.03\%\]{top:56.03%}.top-\[63\.08\%\]{top:63.08%}.top-\[var\(--topbar-height\)\]{top:var(--topbar-height)}.right-\(--session-badge-inset-inline\){right:var(--session-badge-inset-inline)}.right-0{right:calc(var(--spacing) * 0)}.right-\[5\%\]{right:5%}.right-\[6\%\]{right:6%}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-4{left:calc(var(--spacing) * 4)}.left-5{left:calc(var(--spacing) * 5)}.left-\[7\.86\%\]{left:7.86%}.left-\[8\.03\%\]{left:8.03%}.isolate{isolation:isolate}.-z-10{z-index:calc(10 * -1)}.z-0{z-index:0}.z-10{z-index:10}.z-\[1\]{z-index:1}.z-\[2\]{z-index:2}.z-\[4\]{z-index:4}.z-\[20\]{z-index:20}.z-\[100\]{z-index:100}.container{width:100%}@media (width>=900px){.container{max-width:900px}}@media (width>=1279px){.container{max-width:1279px}}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.m-39{margin:calc(var(--spacing) * 39)}.m-40{margin:calc(var(--spacing) * 40)}.m-auto{margin:auto}.mx-auto{margin-inline:auto}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-\[clamp\(12px\,0\.9cqw\,16px\)\]{margin-top:clamp(12px,.9cqw,16px)}.mt-\[clamp\(12px\,0\.83cqw\,16px\)\]{margin-top:clamp(12px,.83cqw,16px)}.mt-\[clamp\(26px\,2\.17cqw\,38px\)\]{margin-top:clamp(26px,2.17cqw,38px)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-\[0\.1rem\]{margin-bottom:.1rem}.mb-\[0\.85rem\]{margin-bottom:.85rem}.mb-\[1\.1rem\]{margin-bottom:1.1rem}.mb-inline-xs{margin-bottom:var(--spacing-inline-xs)}.ml-auto{margin-left:auto}.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}.aspect-square{aspect-ratio:1}.h-1\/2{height:50%}.h-2{height:calc(var(--spacing) * 2)}.h-2\/5{height:40%}.h-3\/4{height:75%}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-\[2px\]{height:2px}.h-\[22px\]{height:22px}.h-\[24\%\]{height:24%}.h-\[100svh\]{height:100svh}.h-\[200\%\]{height:200%}.h-\[clamp\(23px\,1\.79cqw\,30px\)\]{height:clamp(23px,1.79cqw,30px)}.h-\[var\(--topbar-height\)\]{height:var(--topbar-height)}.h-dot{height:var(--spacing-dot)}.h-dot-lg{height:var(--spacing-dot-lg)}.h-full{height:100%}.max-h-\[38\%\]{max-height:38%}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[0\.7rem\]{min-height:.7rem}.min-h-\[1\.95rem\]{min-height:1.95rem}.min-h-\[320px\]{min-height:320px}.min-h-\[clamp\(60px\,4\.48cqw\,78px\)\]{min-height:clamp(60px,4.48cqw,78px)}.min-h-tap{min-height:var(--spacing-tap)}.min-h-tap-sm{min-height:var(--spacing-tap-sm)}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing) * 2)}.w-3\/4{width:75%}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-\[12px\]{width:12px}.w-\[22px\]{width:22px}.w-\[24\%\]{width:24%}.w-\[400px\]{width:400px}.w-\[clamp\(23px\,1\.79cqw\,30px\)\]{width:clamp(23px,1.79cqw,30px)}.w-\[clamp\(360px\,31cqw\,560px\)\]{width:clamp(360px,31cqw,560px)}.w-\[min\(420px\,92vw\)\]{width:min(420px,92vw)}.w-\[min\(680px\,94vw\)\]{width:min(680px,94vw)}.w-dot{width:var(--spacing-dot)}.w-dot-lg{width:var(--spacing-dot-lg)}.w-full{width:100%}.max-w-\[36ch\]{max-width:36ch}.max-w-\[290px\]{max-width:290px}.max-w-\[480px\]{max-width:480px}.max-w-\[min\(440px\,100\%\)\]{max-width:min(440px,100%)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[32px\]{min-width:32px}.min-w-\[clamp\(212px\,15cqw\,264px\)\]{min-width:clamp(212px,15cqw,264px)}.flex-1{flex:1}.flex-\[1\.5_1_0\]{flex:1.5 1 0}.flex-\[1_1_0\]{flex:1 1 0}.flex-\[3_1_0\]{flex:3 1 0}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-left{transform-origin:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-\[1\.087cqw\]{--tw-translate-x:calc(1.087cqw * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-\[0\.94\]{scale:.94}.rotate-\[-3deg\]{rotate:-3deg}.\[transform\:scaleX\(0\)\]{transform:scaleX(0)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-rows-10{grid-template-rows:repeat(10,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\[0\.4rem\]{gap:.4rem}.gap-\[1\.1rem\]{gap:1.1rem}.gap-\[2px\]{gap:2px}.gap-\[9px\]{gap:9px}.gap-\[18px\]{gap:18px}.gap-inline-md{gap:var(--spacing-inline-md)}.gap-inline-sm{gap:var(--spacing-inline-sm)}.gap-inline-xs{gap:var(--spacing-inline-xs)}.gap-tight{gap:var(--spacing-tight)}.gap-tight-md{gap:var(--spacing-tight-md)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[0\.5rem\]{border-radius:.5rem}.rounded-\[1px\]{border-radius:1px}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-\[5px\]{border-radius:5px}.rounded-\[12px\]{border-radius:12px}.rounded-\[14px\]{border-radius:14px}.rounded-cell{border-radius:var(--radius-cell)}.rounded-full{border-radius:3.40282e38px}.rounded-key{border-radius:var(--radius-key)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.\!border-violet{border-color:var(--color-violet)!important}.\!border-violet-deep{border-color:var(--color-violet-deep)!important}.border-cyan\/20{border-color:#00d4ff33}@supports (color:color-mix(in lab, red, red)){.border-cyan\/20{border-color:color-mix(in oklab, var(--color-cyan) 20%, transparent)}}.border-cyan\/60{border-color:#00d4ff99}@supports (color:color-mix(in lab, red, red)){.border-cyan\/60{border-color:color-mix(in oklab, var(--color-cyan) 60%, transparent)}}.border-danger\/15{border-color:#d6284a26}@supports (color:color-mix(in lab, red, red)){.border-danger\/15{border-color:color-mix(in oklab, var(--color-danger) 15%, transparent)}}.border-ink-faint{border-color:var(--color-ink-faint)}.border-transparent{border-color:#0000}.border-violet-deep{border-color:var(--color-violet-deep)}.border-violet-deep\/10{border-color:#6d28d91a}@supports (color:color-mix(in lab, red, red)){.border-violet-deep\/10{border-color:color-mix(in oklab, var(--color-violet-deep) 10%, transparent)}}.border-violet-deep\/12{border-color:#6d28d91f}@supports (color:color-mix(in lab, red, red)){.border-violet-deep\/12{border-color:color-mix(in oklab, var(--color-violet-deep) 12%, transparent)}}.border-violet-deep\/18{border-color:#6d28d92e}@supports (color:color-mix(in lab, red, red)){.border-violet-deep\/18{border-color:color-mix(in oklab, var(--color-violet-deep) 18%, transparent)}}.border-violet-deep\/35{border-color:#6d28d959}@supports (color:color-mix(in lab, red, red)){.border-violet-deep\/35{border-color:color-mix(in oklab, var(--color-violet-deep) 35%, transparent)}}.border-violet-medium{border-color:var(--color-violet-medium)}.border-violet-soft{border-color:var(--color-violet-soft)}.border-violet-strong{border-color:var(--color-violet-strong)}.border-violet-subtle{border-color:var(--color-violet-subtle)}.border-violet-tint{border-color:var(--color-violet-tint)}.border-violet\/60{border-color:#8b5cf699}@supports (color:color-mix(in lab, red, red)){.border-violet\/60{border-color:color-mix(in oklab, var(--color-violet) 60%, transparent)}}.border-white{border-color:var(--color-white)}.\!bg-cyan{background-color:var(--color-cyan)!important}.\!bg-danger{background-color:var(--color-danger)!important}.\!bg-violet{background-color:var(--color-violet)!important}.\!bg-violet-deep{background-color:var(--color-violet-deep)!important}.bg-amber\/10{background-color:#b25e001a}@supports (color:color-mix(in lab, red, red)){.bg-amber\/10{background-color:color-mix(in oklab, var(--color-amber) 10%, transparent)}}.bg-coral{background-color:var(--color-coral)}.bg-cream{background-color:var(--color-cream)}.bg-cream-dark{background-color:var(--color-cream-dark)}.bg-cream-light{background-color:var(--color-cream-light)}.bg-cyan{background-color:var(--color-cyan)}.bg-cyan\/\[0\.06\]{background-color:#00d4ff0f}@supports (color:color-mix(in lab, red, red)){.bg-cyan\/\[0\.06\]{background-color:color-mix(in oklab, var(--color-cyan) 6%, transparent)}}.bg-danger-strong\/10{background-color:#b3142f1a}@supports (color:color-mix(in lab, red, red)){.bg-danger-strong\/10{background-color:color-mix(in oklab, var(--color-danger-strong) 10%, transparent)}}.bg-danger\/5{background-color:#d6284a0d}@supports (color:color-mix(in lab, red, red)){.bg-danger\/5{background-color:color-mix(in oklab, var(--color-danger) 5%, transparent)}}.bg-gold{background-color:var(--color-gold)}.bg-ink{background-color:var(--color-ink)}.bg-ink-faint{background-color:var(--color-ink-faint)}.bg-ink\/45{background-color:#1a0f2e73}@supports (color:color-mix(in lab, red, red)){.bg-ink\/45{background-color:color-mix(in oklab, var(--color-ink) 45%, transparent)}}.bg-transparent{background-color:#0000}.bg-violet{background-color:var(--color-violet)}.bg-violet-deep{background-color:var(--color-violet-deep)}.bg-violet-deep\/90{background-color:#6d28d9e6}@supports (color:color-mix(in lab, red, red)){.bg-violet-deep\/90{background-color:color-mix(in oklab, var(--color-violet-deep) 90%, transparent)}}.bg-violet-medium{background-color:var(--color-violet-medium)}.bg-violet-soft{background-color:var(--color-violet-soft)}.bg-violet-strong{background-color:var(--color-violet-strong)}.bg-violet-subtle{background-color:var(--color-violet-subtle)}.bg-violet-tint{background-color:var(--color-violet-tint)}.bg-violet-wash{background-color:var(--color-violet-wash)}.bg-white{background-color:var(--color-white)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-cyan\/30{--tw-gradient-from:#00d4ff4d}@supports (color:color-mix(in lab, red, red)){.from-cyan\/30{--tw-gradient-from:color-mix(in oklab, var(--color-cyan) 30%, transparent)}}.from-cyan\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-violet{--tw-gradient-from:var(--color-violet);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-violet-bright{--tw-gradient-from:var(--color-violet-bright);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-violet-soft{--tw-gradient-via:var(--color-violet-soft);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-ink\/60{--tw-gradient-to:#1a0f2e99}@supports (color:color-mix(in lab, red, red)){.to-ink\/60{--tw-gradient-to:color-mix(in oklab, var(--color-ink) 60%, transparent)}}.to-ink\/60{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-violet{--tw-gradient-to:var(--color-violet);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-violet-deep{--tw-gradient-to:var(--color-violet-deep);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-violet\/25{--tw-gradient-to:#8b5cf640}@supports (color:color-mix(in lab, red, red)){.to-violet\/25{--tw-gradient-to:color-mix(in oklab, var(--color-violet) 25%, transparent)}}.to-violet\/25{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.fill-none{fill:none}.stroke-current{stroke:currentColor}.\[stroke-width\:2\.5\]{stroke-width:2.5px}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-center{object-position:center}.p-0{padding:calc(var(--spacing) * 0)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-9{padding-inline:calc(var(--spacing) * 9)}.px-\[0\.25rem\]{padding-inline:.25rem}.px-\[3\%\]{padding-inline:3%}.px-\[clamp\(0\.75rem\,1\.5vw\,1\.25rem\)\]{padding-inline:clamp(.75rem,1.5vw,1.25rem)}.px-\[clamp\(0\.75rem\,3vw\,5rem\)\]{padding-inline:clamp(.75rem,3vw,5rem)}.px-input-pad-x{padding-inline:var(--spacing-input-pad-x)}.px-pill-pad-x{padding-inline:var(--spacing-pill-pad-x)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-\[0\.2rem\]{padding-block:.2rem}.py-\[0\.15rem\]{padding-block:.15rem}.py-cta-pad-y{padding-block:var(--spacing-cta-pad-y)}.py-inline-md{padding-block:var(--spacing-inline-md)}.py-key-pad-y{padding-block:var(--spacing-key-pad-y)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-\[calc\(var\(--nav-height\)\+1\.5rem\)\]{padding-top:calc(var(--nav-height) + 1.5rem)}.pt-inline-xs{padding-top:var(--spacing-inline-xs)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-\[max\(0\.9rem\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(.9rem, env(safe-area-inset-bottom))}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-console-indent{padding-left:var(--spacing-console-indent)}.pl-tight-md{padding-left:var(--spacing-tight-md)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.\[text-indent\:0\.25em\]{text-indent:.25em}.font-body{font-family:var(--font-body)}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.font-signature{font-family:var(--font-signature)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-\(length\:--title-size\){font-size:var(--title-size)}.text-\[0\.55rem\]{font-size:.55rem}.text-\[0\.88rem\]{font-size:.88rem}.text-\[1\.1rem\]{font-size:1.1rem}.text-\[17px\]{font-size:17px}.text-\[clamp\(0\.85rem\,1\.875vw\,1\.2rem\)\]{font-size:clamp(.85rem,1.875vw,1.2rem)}.text-\[clamp\(1\.15rem\,2\.4vw\,1\.4rem\)\]{font-size:clamp(1.15rem,2.4vw,1.4rem)}.text-\[clamp\(1\.75rem\,3\.4vw\,2\.75rem\)\]{font-size:clamp(1.75rem,3.4vw,2.75rem)}.text-\[clamp\(1rem\,1\.3vw\,1\.1rem\)\]{font-size:clamp(1rem,1.3vw,1.1rem)}.text-\[clamp\(2\.6rem\,4\.99cqw\,5\.5rem\)\]{font-size:clamp(2.6rem,4.99cqw,5.5rem)}.text-\[clamp\(2\.75rem\,10\.16vw\,6\.5rem\)\]{font-size:clamp(2.75rem,10.16vw,6.5rem)}.text-\[clamp\(3\.5rem\,18\.75vw\,12rem\)\]{font-size:clamp(3.5rem,18.75vw,12rem)}.text-\[clamp\(10px\,0\.77cqw\,13px\)\]{font-size:clamp(10px,.77cqw,13px)}.text-\[clamp\(16px\,1\.09cqw\,19px\)\]{font-size:clamp(16px,1.09cqw,19px)}.text-body{font-size:var(--text-body)}.text-body-sm{font-size:var(--text-body-sm)}.text-caption{font-size:var(--text-caption)}.text-code{font-size:var(--text-code)}.text-console{font-size:var(--text-console)}.text-editor{font-size:var(--text-editor)}.text-eyebrow{font-size:var(--text-eyebrow)}.text-label{font-size:var(--text-label)}.text-meta{font-size:var(--text-meta)}.text-micro{font-size:var(--text-micro)}.text-note{font-size:var(--text-note)}.leading-\[0\.85\]{--tw-leading:.85;line-height:.85}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-\[1\.2\]{--tw-leading:1.2;line-height:1.2}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-\[1\.06\]{--tw-leading:1.06;line-height:1.06}.leading-\[1\.8\]{--tw-leading:1.8;line-height:1.8}.leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.leading-compact{--tw-leading:var(--leading-compact);line-height:var(--leading-compact)}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-0\.05em\]{--tw-tracking:-.05em;letter-spacing:-.05em}.tracking-\[-0\.025em\]{--tw-tracking:-.025em;letter-spacing:-.025em}.tracking-\[0\.3px\]{--tw-tracking:.3px;letter-spacing:.3px}.tracking-\[0\.5px\]{--tw-tracking:.5px;letter-spacing:.5px}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.25em\]{--tw-tracking:.25em;letter-spacing:.25em}.tracking-\[1\.5px\]{--tw-tracking:1.5px;letter-spacing:1.5px}.tracking-\[6px\]{--tw-tracking:6px;letter-spacing:6px}.tracking-label{--tw-tracking:var(--tracking-label);letter-spacing:var(--tracking-label)}.tracking-label-lg{--tw-tracking:var(--tracking-label-lg);letter-spacing:var(--tracking-label-lg)}.tracking-label-sm{--tw-tracking:var(--tracking-label-sm);letter-spacing:var(--tracking-label-sm)}.\[text-wrap\:balance\]{text-wrap:balance}.\[text-wrap\:pretty\]{text-wrap:pretty}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.\!text-cream{color:var(--color-cream)!important}.\!text-danger{color:var(--color-danger)!important}.\!text-violet-deep{color:var(--color-violet-deep)!important}.text-\(--vnc-placeholder-watermark-size\){color:var(--vnc-placeholder-watermark-size)}.text-amber{color:var(--color-amber)}.text-cream{color:var(--color-cream)}.text-cream\/60{color:#f6f3f999}@supports (color:color-mix(in lab, red, red)){.text-cream\/60{color:color-mix(in oklab, var(--color-cream) 60%, transparent)}}.text-cream\/68{color:#f6f3f9ad}@supports (color:color-mix(in lab, red, red)){.text-cream\/68{color:color-mix(in oklab, var(--color-cream) 68%, transparent)}}.text-cyan{color:var(--color-cyan)}.text-danger{color:var(--color-danger)}.text-danger-strong{color:var(--color-danger-strong)}.text-gold{color:var(--color-gold)}.text-ink{color:var(--color-ink)}.text-ink-subtle{color:var(--color-ink-subtle)}.text-transparent{color:#0000}.text-violet{color:var(--color-violet)}.text-violet-deep{color:var(--color-violet-deep)}.text-violet-deep\/55{color:#6d28d98c}@supports (color:color-mix(in lab, red, red)){.text-violet-deep\/55{color:color-mix(in oklab, var(--color-violet-deep) 55%, transparent)}}.text-violet-deep\/65{color:#6d28d9a6}@supports (color:color-mix(in lab, red, red)){.text-violet-deep\/65{color:color-mix(in oklab, var(--color-violet-deep) 65%, transparent)}}.text-violet-strong{color:var(--color-violet-strong)}.text-violet\/70{color:#8b5cf6b3}@supports (color:color-mix(in lab, red, red)){.text-violet\/70{color:color-mix(in oklab, var(--color-violet) 70%, transparent)}}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.\[font-variant-numeric\:tabular-nums\]{font-variant-numeric:tabular-nums}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.opacity-85{opacity:.85}.opacity-90{opacity:.9}.opacity-\[0\.06\]{opacity:.06}.opacity-\[0\.78\]{opacity:.78}.\[mix-blend-mode\:screen\]{mix-blend-mode:screen}.mix-blend-overlay{mix-blend-mode:overlay}.shadow-badge{--tw-shadow:0 8px 30px var(--tw-shadow-color,rgb(from var(--color-violet-deep) r g b / .06));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-cell{--tw-shadow:0 1px 2px var(--tw-shadow-color,rgb(from var(--color-violet-deep) r g b / .08));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-cta{--tw-shadow:inset 0 1px 1px var(--tw-shadow-color,rgb(from var(--color-white) r g b / .24)), 0 12px 34px -5px var(--tw-shadow-color,rgb(from var(--color-cta-glow) r g b / .35));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-glow-violet{--tw-shadow:0 0 24px var(--tw-shadow-color,rgb(from var(--color-violet) r g b / .35));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-glow-violet-sm{--tw-shadow:0 0 8px var(--tw-shadow-color,rgb(from var(--color-violet) r g b / .45));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-key-rest{--tw-shadow:0 2px 6px var(--tw-shadow-color,rgb(from var(--color-violet-deep) r g b / .2));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-panel{--tw-shadow:0 20px 60px var(--tw-shadow-color,rgb(from var(--color-violet-deep) r g b / .15));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-terminal{--tw-shadow:0 24px 80px var(--tw-shadow-color,rgb(from var(--color-black) r g b / .5)), 0 0 60px var(--tw-shadow-color,rgb(from var(--color-violet) r g b / .22));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-window{--tw-shadow:0 24px 60px var(--tw-shadow-color,rgb(from var(--color-ink) r g b / .35)), 0 4px 12px var(--tw-shadow-color,rgb(from var(--color-ink) r g b / .18));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,)}.drop-shadow-marker{--tw-drop-shadow-size:drop-shadow(0 0 8px var(--tw-drop-shadow-color,rgb(from var(--color-marker-glow) r g b / .18)));--tw-drop-shadow:drop-shadow(var(--drop-shadow-marker));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,)}.drop-shadow-sprite{--tw-drop-shadow-size:drop-shadow(0 3px 6px var(--tw-drop-shadow-color,rgb(from var(--color-ink) r g b / .3)));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sprite));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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background\,color\]{transition-property:background,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background\,transform\,opacity\]{transition-property:background,transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background\,transform\]{transition-property:background,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\,translate\,box-shadow\,opacity\,scale\]{transition-property:background-color,border-color,color,translate,box-shadow,opacity,scale;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background\]{transition-property:background;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,background\,box-shadow\]{transition-property:border-color,background,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,background-color\,scale\,box-shadow\]{transition-property:border-color,background-color,scale,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,background-color\]{transition-property:border-color,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,box-shadow\]{transition-property:border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,color\,background-color\]{transition-property:border-color,color,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,color\,opacity\,scale\]{transition-property:border-color,color,opacity,scale;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,transform\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[top\]{transition-property:top;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,box-shadow\,filter\]{transition-property:transform,box-shadow,filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[translate\,box-shadow\,opacity\]{transition-property:translate,box-shadow,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[translate\,box-shadow\]{transition-property:translate,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-\(--duration-instant\){--tw-duration:var(--duration-instant);transition-duration:var(--duration-instant)}.duration-\(--duration-medium\){--tw-duration:var(--duration-medium);transition-duration:var(--duration-medium)}.duration-\(--duration-normal\){--tw-duration:var(--duration-normal);transition-duration:var(--duration-normal)}.duration-\(--duration-progress-fill\){--tw-duration:var(--duration-progress-fill);transition-duration:var(--duration-progress-fill)}.duration-\(--duration-slow\){--tw-duration:var(--duration-slow);transition-duration:var(--duration-slow)}.duration-\(--duration-track\){--tw-duration:var(--duration-track);transition-duration:var(--duration-track)}.duration-\[180ms\]{--tw-duration:.18s;transition-duration:.18s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-standard{--tw-ease:var(--ease-standard);transition-timing-function:var(--ease-standard)}.ease-track{--tw-ease:var(--ease-track);transition-timing-function:var(--ease-track)}.\[transition-timing-function\:cubic-bezier\(0\.22\,1\,0\.36\,1\)\]{transition-timing-function:cubic-bezier(.22,1,.36,1)}.will-change-\[translate\]{will-change:translate}.select-none{-webkit-user-select:none;user-select:none}.\[--topbar-height\:40px\]{--topbar-height:40px}.\[image-rendering\:pixelated\]{image-rendering:pixelated}.\[stroke-linecap\:round\]{stroke-linecap:round}.\[stroke-linejoin\:round\]{stroke-linejoin:round}@media (hover:hover){.group-hover\:flex:is(:where(.group):hover *){display:flex}}.placeholder\:text-ink-subtle::placeholder{color:var(--color-ink-subtle)}@media (hover:hover){.hover\:-translate-y-\[3px\]:hover{--tw-translate-y:calc(3px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:scale-\[1\.08\]:hover{scale:1.08}.hover\:border-violet-strong:hover{border-color:var(--color-violet-strong)}.hover\:bg-violet-deep:hover{background-color:var(--color-violet-deep)}.hover\:bg-violet-medium:hover{background-color:var(--color-violet-medium)}.hover\:bg-violet-tint:hover{background-color:var(--color-violet-tint)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-violet-deep:hover{color:var(--color-violet-deep)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-chip-hover:hover{--tw-shadow:0 3px 12px var(--tw-shadow-color,rgb(from var(--color-violet) r g b / .3));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-cta-hover:hover{--tw-shadow:inset 0 1px 1px var(--tw-shadow-color,rgb(from var(--color-white) r g b / .32)), 0 16px 42px -5px var(--tw-shadow-color,rgb(from var(--color-cta-glow-hover) r g b / .48));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-terminal-hover:hover{--tw-shadow:0 4px 14px var(--tw-shadow-color,rgb(from var(--color-violet-deep) r g b / .3));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);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,)}.hover\:not-disabled\:-translate-y-px:hover:not(:disabled){--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:not-disabled\:border-violet:hover:not(:disabled){border-color:var(--color-violet)}.hover\:not-disabled\:bg-violet:hover:not(:disabled){background-color:var(--color-violet)}.hover\:not-disabled\:bg-violet-deep:hover:not(:disabled){background-color:var(--color-violet-deep)}.hover\:not-disabled\:text-cream:hover:not(:disabled){color:var(--color-cream)}.hover\:not-disabled\:text-violet:hover:not(:disabled){color:var(--color-violet)}.hover\:not-disabled\:shadow-key-hover:hover:not(:disabled){--tw-shadow:0 3px 10px var(--tw-shadow-color,rgb(from var(--color-violet-deep) r g b / .2));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:not-disabled\:shadow-key-lift:hover:not(:disabled){--tw-shadow:0 5px 18px var(--tw-shadow-color,rgb(from var(--color-violet-deep) r g b / .35));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:top-4:focus{top:calc(var(--spacing) * 4)}.focus-visible\:border-violet:focus-visible{border-color:var(--color-violet)}.focus-visible\:bg-white:focus-visible{background-color:var(--color-white)}.focus-visible\:shadow-focus-ring:focus-visible{--tw-shadow:0 0 0 3px var(--tw-shadow-color,rgb(from var(--color-violet) r g b / .3));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:\[outline\:3px_solid_var\(--color-cream\)\]:focus-visible{outline:3px solid var(--color-cream)}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:\[outline-offset\:6px\]:focus-visible{outline-offset:6px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-offset-focus:focus-visible{outline-offset:var(--outline-offset-focus)}.focus-visible\:outline-violet:focus-visible{outline-color:var(--color-violet)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:translate-y-0:active{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:scale-\[0\.96\]:active{scale:.96}.active\:scale-\[0\.985\]:active{scale:.985}.active\:border-violet:active{border-color:var(--color-violet)}.active\:bg-violet-tint:active{background-color:var(--color-violet-tint)}.active\:not-disabled\:scale-95:active:not(:disabled){--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-20:disabled{opacity:.2}.disabled\:opacity-25:disabled{opacity:.25}.disabled\:opacity-60:disabled{opacity:.6}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}.motion-reduce\:duration-0{--tw-duration:0s;transition-duration:0s}@media (hover:hover){.motion-reduce\:hover\:translate-y-0:hover{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}}}@media not all and (width>=1279px){.max-hero-ornaments\:inline-block{display:inline-block}.max-hero-ornaments\:text-\[12px\]{font-size:12px}.max-hero-ornaments\:text-\[56px\]{font-size:56px}.max-hero-ornaments\:tracking-label{--tw-tracking:var(--tracking-label);letter-spacing:var(--tracking-label)}}@media not all and (width>=900px){.max-console\:text-body-sm{font-size:var(--text-body-sm)}.max-console\:text-editor{font-size:var(--text-editor)}.max-console\:text-label{font-size:var(--text-label)}}@media (width>=40rem){.sm\:bottom-3{bottom:calc(var(--spacing) * 3)}.sm\:left-4{left:calc(var(--spacing) * 4)}.sm\:h-control-h{height:var(--spacing-control-h)}.sm\:min-h-tap-lg{min-height:var(--spacing-tap-lg)}.sm\:gap-\[0\.5rem\]{gap:.5rem}.sm\:gap-\[0\.9rem\]{gap:.9rem}.sm\:gap-inline-sm{gap:var(--spacing-inline-sm)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-2{padding-inline:calc(var(--spacing) * 2)}.sm\:pt-4{padding-top:calc(var(--spacing) * 4)}.sm\:pr-4{padding-right:calc(var(--spacing) * 4)}.sm\:pb-\[1\.1rem\]{padding-bottom:1.1rem}.sm\:pl-4{padding-left:calc(var(--spacing) * 4)}.sm\:text-body{font-size:var(--text-body)}.sm\:text-eyebrow{font-size:var(--text-eyebrow)}.sm\:tracking-\[0\.5px\]{--tw-tracking:.5px;letter-spacing:.5px}.sm\:\[--topbar-height\:36px\]{--topbar-height:36px}}@media (width>=48rem){.md\:mb-0{margin-bottom:calc(var(--spacing) * 0)}.md\:block{display:block}.md\:max-w-\[62ch\]{max-width:62ch}.md\:self-start{align-self:flex-start}.md\:text-left{text-align:left}.md\:text-\[clamp\(17px\,1\.34cqw\,23px\)\]{font-size:clamp(17px,1.34cqw,23px)}.md\:leading-\[1\.62\]{--tw-leading:1.62;line-height:1.62}.md\:\[text-wrap\:normal\]{text-wrap:normal}}@container not (width>=740px){.\@max-\[740px\]\:hidden{display:none}}@media (orientation:portrait){.portrait\:hidden{display:none}}@media (orientation:landscape){.landscape\:block{display:block}.landscape\:grid{display:grid}.landscape\:h-\[700px\]{height:700px}.landscape\:w-\[1220px\]{width:1220px}.landscape\:flex-1{flex:1}.landscape\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.landscape\:grid-cols-\[1fr_2px_1fr\]{grid-template-columns:1fr 2px 1fr}.landscape\:grid-rows-\[1fr\]{grid-template-rows:1fr}}@media (height<=700px){.short\:mt-\[18px\]{margin-top:18px}.short\:w-\[clamp\(240px\,22vw\,380px\)\]{width:clamp(240px,22vw,380px)}.short\:py-1{padding-block:calc(var(--spacing) * 1)}.short\:py-2{padding-block:calc(var(--spacing) * 2)}.short\:text-\[clamp\(2rem\,3\.4vw\,3\.4rem\)\]{font-size:clamp(2rem,3.4vw,3.4rem)}.short\:text-editor{font-size:var(--text-editor)}.short\:leading-compact{--tw-leading:var(--leading-compact);line-height:var(--leading-compact)}}@media (height>=1000px){.tall\:w-\[clamp\(560px\,52vh\,760px\)\]{width:clamp(560px,52vh,760px)}.tall\:text-\[clamp\(1\.4rem\,1\.85vh\,1\.75rem\)\]{font-size:clamp(1.4rem,1.85vh,1.75rem)}.tall\:text-\[clamp\(5\.5rem\,7\.4vh\,7rem\)\]{font-size:clamp(5.5rem,7.4vh,7rem)}}}@font-face{font-family:NinjaKage;src:url(/fonts/NinjaKageDemo-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:NinjaKage;src:url(/fonts/NinjaKageDemo-Rough.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Savery;src:url(/fonts/Savery.woff2)format("woff2");font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Kanji Watermark;src:url(/fonts/NotoSerifJP-kanji.woff2)format("woff2");font-weight:900;font-style:normal;font-display:swap}:root{--cream:var(--color-cream);--violet:var(--color-violet);--violet-deep:var(--color-violet-deep);--cyan:var(--color-cyan);--ink:var(--color-ink);--ink-subtle:var(--color-ink-subtle);--ink-faint:var(--color-ink-faint);--violet-wash:var(--color-violet-wash);--violet-subtle:var(--color-violet-subtle);--violet-tint:var(--color-violet-tint);--violet-soft:var(--color-violet-soft);--violet-medium:var(--color-violet-medium);--violet-strong:var(--color-violet-strong);--white:var(--color-white);--mask-visible:var(--color-black);--ink-deep:var(--color-ink-deep);--ink-deeper:var(--color-ink-deeper);--cream-light:var(--color-cream-light);--gradient-rgb-violet:139 92 246;--gradient-rgb-violet-deep:109 40 217;--gradient-rgb-ink:26 15 46;--gradient-rgb-cyan:0 212 255;--gradient-rgb-black:0 0 0;--gradient-rgb-white:255 255 255;--gradient-rgb-parchment:245 241 232;--font-hero-headline:"Savery", "Clash Display", sans-serif;--display-word-spacing:.14em;--space-xl:2rem;--max-width:1400px;--width-content:1100px;--width-grid:1200px;--section-pad:clamp(5rem, 14svh, 9rem);--content-padding:3rem;--nav-height:6.875rem;--duration-instant:.12s;--duration-fast:.15s;--duration-normal:.2s;--duration-hover:.22s;--duration-settle:.25s;--duration-medium:.3s;--duration-slow:.6s;--duration-reveal:.7s;--duration-track:.88s;--duration-door:2.2s;--ease-fast:var(--duration-fast) var(--ease-standard);--ease-medium:var(--duration-medium) var(--ease-standard);--ease-slow:var(--duration-slow) var(--ease-glide);--seal-size:2.5rem;--seal-size-sm:2rem;--seal-glow:drop-shadow(0 0 8px rgb(from var(--color-cyan) r g b / .4))}@media (width<=1024px){:root{--nav-height:5.8125rem}}@media (width<=560px){:root{--nav-height:5.3125rem}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-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-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-snap-type: y proximity;
  scrollbar-color: var(--violet) var(--cream);
  scrollbar-width: thin;
}

:root {
  --section-pad-mobile: 4.5rem clamp(1rem, 4vw, 3rem);
  --section-pad-mobile-fixed: 4.5rem 1.5rem;
  --grid-single-col: 1fr;
  --grid-gap-mobile: 1rem;
  --card-pad-mobile: 1.5rem;
}

::-webkit-scrollbar {
  width: 11px;
}
::-webkit-scrollbar-track {
  background: var(--cream);
}
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--violet) 0%, var(--violet-deep) 100%);
  border-radius: 999px;
  border: 3px solid var(--cream);
}
::-webkit-scrollbar-thumb:hover {
  background: var(--violet-deep);
}

.hero, .demo, .about, .approach, .services, .projects, .process, .connect {
  scroll-snap-align: start;
}

section[id] {
  scroll-margin-top: var(--nav-height);
}

main[tabindex="-1"]:focus-visible {
  outline: none;
}

.section-shell {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--cream);
  padding: var(--section-pad) var(--content-padding);
  border-bottom: 1px solid var(--ink-faint);
}

.section-inner {
  position: relative;
  z-index: 1;
  max-width: var(--width-content);
  margin: 0 auto;
}

.section-inner--grid {
  position: relative;
  z-index: 1;
  max-width: var(--width-grid);
  margin: 0 auto;
}

.section-copy {
  font-family: var(--font-body);
  font-size: clamp(0.95rem, 1.2vw, 1.05rem);
  line-height: 1.65;
  color: var(--ink-subtle);
  max-width: 58ch;
  margin: 0;
}

.card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.2rem;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--violet-deep);
  margin-bottom: 1rem;
}

.section-eyebrow__seal {
  width: var(--seal-size);
  height: var(--seal-size);
  object-fit: contain;
  flex-shrink: 0;
  filter: var(--seal-glow);
  will-change: transform;
}

.section-eyebrow--ink {
  color: var(--cream);
}

@media (max-width: 900px) {
  .section-eyebrow__seal {
    width: var(--seal-size-sm);
    height: var(--seal-size-sm);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .reveal .r {
    opacity: 0;
    transform: translateY(26px);
    transition:
      opacity var(--duration-reveal) var(--ease-glide),
      transform var(--duration-reveal) var(--ease-glide);
    transition-delay: var(--rd, 0ms);
  }
  .reveal.is-inview .r {
    opacity: 1;
    transform: none;
  }
}

.s-header {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.s-header--center {
  align-items: center;
  text-align: center;
}

.s-header__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(2.4rem, 6vw, 4.2rem);
  line-height: 1.02;
  letter-spacing: -0.03em;
  color: var(--ink);
  margin: 0;
}

.s-header__title,
.about__lead,
.approach__headline,
.service-card__title,
.project-card__title,
.process__step-title,
.connect__title,
.font-display {
  word-spacing: var(--display-word-spacing);
}

.text-script,
.s-header__title em {
  font-family: var(--font-signature);
  font-style: normal;
  font-weight: 400;
  color: var(--violet-deep);
}

.s-header__sub {
  font-family: var(--font-body);
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  color: var(--ink-subtle);
  margin: 0.75rem 0 0;
}

.s-header--ink .s-header__title {
  color: var(--cream);
}
.s-header--ink .s-header__title em {
  color: var(--cyan);
}
.s-header--ink .s-header__sub {
  color: rgb(from var(--cream) r g b / 0.62);
}

.section-rule {
  position: relative;
  height: 0;
  z-index: 3;
}

.section-rule__gem {
  position: absolute;
  left: 50%;
  top: 0;
  width: 11px;
  height: 11px;
  transform: translate(-50%, -50%) rotate(45deg);
  background: var(--cream);
  border: 1px solid var(--violet-medium);
}

.section-rule__gem::after {
  content: '';
  position: absolute;
  inset: 3px;
  background: var(--cyan);
  opacity: 0.7;
}

.section-watermark {
  position: absolute;
  top: 50%;
  right: clamp(-2rem, -3vw, -1rem);
  transform: translateY(-50%);
  font-family: 'Kanji Watermark', 'Hiragino Mincho ProN', 'Yu Mincho', serif;
  font-weight: 900;
  font-size: clamp(12rem, 32svh, 28rem);
  line-height: 0.9;
  color: var(--violet-deep);
  opacity: 0.05;
  user-select: none;
  pointer-events: none;
  letter-spacing: -0.02em;
  z-index: 0;
}

@media (max-width: 720px) {
  .section-watermark {
    font-size: clamp(8rem, 26svh, 14rem);
    right: -1rem;
    opacity: 0.04;
  }
}

.section-watermark--left {
  right: auto;
  left: clamp(-2rem, -3vw, -1rem);
}

.section-watermark--ink {
  color: var(--cream);
  opacity: 0.04;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-snap-type: none; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
.nav{z-index:10;position:fixed;top:0;left:0;right:0}.nav__bar{z-index:2;padding:var(--space-xl) var(--content-padding);transition:background var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard);background:0 0;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:1.25rem;display:flex;position:relative}.nav__bar--scrolled,.nav__bar--menu-open{background:var(--cream);border-bottom-color:var(--ink-faint)}@media (prefers-reduced-motion:reduce){.nav__bar{transition:none}}.nav__logo{font-family:var(--font-display);letter-spacing:3px;color:var(--violet-deep);font-size:1.2rem;font-weight:700}.nav__logo:focus-visible{outline-offset:4px;border-radius:.5rem}.nav__links{gap:1.5rem;display:flex}.nav__link{font-family:var(--font-body);letter-spacing:2px;text-transform:uppercase;color:var(--ink);transition:color var(--ease-fast);font-size:.8rem;font-weight:600;position:relative}.nav__link:hover,.nav__link--active{color:var(--violet-deep)}.nav__link--active:after{content:"";background:var(--violet-deep);border-radius:2px;width:16px;height:2px;position:absolute;bottom:-.5rem;left:50%;transform:translate(-50%)}.nav__link:focus-visible{outline-offset:4px;border-radius:2px}.nav__cta{background:var(--ink);color:var(--cream);font-family:var(--font-body);letter-spacing:1.5px;text-transform:uppercase;transition:background var(--ease-fast);border-radius:.5rem;padding:.8rem 1.6rem;font-size:.8rem;font-weight:600}.nav__cta:hover,.nav__cta--active{background:var(--violet-deep)}.nav__cta:focus-visible{outline-offset:4px}.nav__hamburger{flex-direction:column;gap:5px;padding:14px 8px;display:none}.nav__hamburger span{background:var(--ink);width:24px;height:2px;transition:transform var(--ease-medium), opacity var(--ease-fast);transform-origin:50%}.nav__hamburger span.open:first-child{transform:translateY(7px)rotate(45deg)}.nav__hamburger span.open:nth-child(2){opacity:0}.nav__hamburger span.open:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav__backdrop,.nav__drawer{display:none}@media (width<=1400px){.nav__links{gap:1rem}.nav__link{letter-spacing:1.5px;font-size:.72rem}}@media (width<=1024px){.nav__bar{padding:1.5rem var(--content-padding)}.nav__logo{font-size:1.05rem}.nav__links,.nav__cta{display:none}.nav__hamburger{display:flex}.nav__backdrop{background:rgb(from var(--ink) r g b / .35);opacity:0;pointer-events:none;transition:opacity var(--ease-medium);z-index:1;display:block;position:fixed;inset:0}.nav__backdrop--visible{opacity:1;pointer-events:auto}.nav__drawer{background:var(--cream);border-left:1px solid var(--ink-faint);visibility:hidden;width:min(78vw,340px);height:100dvh;transition:transform var(--ease-slow), visibility var(--duration-slow) allow-discrete;z-index:3;outline:none;flex-direction:column;justify-content:center;align-items:stretch;gap:.4rem;padding:4rem 2.25rem;display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.nav__drawer-close{justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute;top:1.5rem;right:1.5rem}.nav__drawer-close span{background:var(--ink);width:22px;height:2px;transition:background var(--ease-fast);border-radius:2px;position:absolute;top:50%;left:50%}.nav__drawer-close span:first-child{transform:translate(-50%,-50%)rotate(45deg)}.nav__drawer-close span:nth-child(2){transform:translate(-50%,-50%)rotate(-45deg)}.nav__drawer-close:hover span{background:var(--violet-deep)}.nav__drawer-close:focus-visible{outline-offset:2px;border-radius:4px}.nav__drawer--open{visibility:visible;transition:transform var(--ease-slow), visibility 0s;transform:translate(0)}.nav__menu-link{min-height:44px;font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;color:var(--ink);transition:color var(--ease-fast), background var(--ease-fast);border-radius:.6rem;align-items:center;padding:.55rem .9rem;font-size:1.45rem;font-weight:600;display:flex}.nav__menu-link:hover{color:var(--violet-deep)}.nav__menu-link:focus-visible{outline-offset:2px}.nav__menu-link--active{color:var(--violet-deep);text-underline-offset:6px;text-decoration:underline 2px;text-decoration-color:var(--violet-deep)}}@media (width<=560px){.nav__bar{padding:1.25rem}.nav__logo{letter-spacing:2px;font-size:.85rem}}.pattern-container{z-index:0;position:absolute;inset:0;overflow:hidden}.pattern-layer{--pattern-overscan:600px;top:calc(var(--pattern-overscan) * -1);left:calc(var(--pattern-overscan) * -1);right:calc(var(--pattern-overscan) * -1);bottom:calc(var(--pattern-overscan) * -1);will-change:transform;background-image:url(/assets/topography-violet.svg);background-repeat:repeat;position:absolute;transform:translate(0,0)}.pattern-layer--front{--pattern-tile:600px;background-size:var(--pattern-tile) var(--pattern-tile);animation:120s linear infinite drift-down-right}.pattern-layer--back{--pattern-tile:900px;background-size:var(--pattern-tile) var(--pattern-tile);opacity:.5;animation:180s linear infinite drift-up-left}@keyframes drift-down-right{0%{transform:translate(0,0)}to{transform:translate3d(var(--pattern-tile), var(--pattern-tile), 0)}}@keyframes drift-up-left{0%{transform:translate(0,0)}to{transform:translate3d(calc(var(--pattern-tile) * -1), calc(var(--pattern-tile) * -1), 0)}}.hero-headline {
  font-family: var(--font-hero-headline);
  font-synthesis: none;
  -webkit-text-stroke: 0.8px var(--cream);
}

.hero-headline--left {
  margin-left: clamp(0.5rem, 4.69vw, 3rem);
}

.hero-headline--right {
  justify-self: end;
  margin-right: var(--hero-edge-margin);
}

@media (max-width: 1279px) {
  .hero-headline {
    font-size: 107px;
    letter-spacing: 1px;
    text-align: left;
    -webkit-text-stroke: 0;
  }

  .hero-headline--left,
  .hero-headline--right {
    margin-left: 0;
    margin-right: 0;
    justify-self: unset;
  }
}
.hero-tagline__jp{font-family:var(--font-accent);font-size:clamp(.95rem,1.875vw,1.2rem)}.hero-tagline__quote{font-family:var(--font-accent);font-size:clamp(.72rem,1.33vw,.85rem)}.hero-tagline__quote:before,.hero-tagline__quote:after{content:"\""}@media (width<=1279px){.hero-tagline{text-align:left;align-items:flex-start;gap:var(--spacing-tight-md)}.hero-tagline__jp{margin:0;font-size:18px}.hero-tagline__quote{font-size:var(--text-caption);max-width:100%}}.info-card {
  --arrow-size: 52px;
  --arrow-offset: 14px;
  --arrow-cx: calc(100% - 12px);
  --arrow-cy: 12px;
  --arrow-cut: 34px;
  --title-size: 1.2rem;

  position: relative;
  max-width: clamp(260px, 30vw, 340px);
  filter: drop-shadow(0 8px 24px rgb(from var(--violet-deep) r g b / 0.1));
}

.info-card__body {
  background: var(--cream);
  padding: 1.5rem 1.75rem;
  border-radius: 1.25rem;
  -webkit-mask: radial-gradient(
    circle var(--arrow-cut) at var(--arrow-cx) var(--arrow-cy),
    transparent calc(var(--arrow-cut) - 0.5px),
    var(--mask-visible) var(--arrow-cut)
  );
  mask: radial-gradient(
    circle var(--arrow-cut) at var(--arrow-cx) var(--arrow-cy),
    transparent calc(var(--arrow-cut) - 0.5px),
    var(--mask-visible) var(--arrow-cut)
  );
}


.info-card__arrow {
  position: absolute;
  top: calc(var(--arrow-offset) * -1);
  right: calc(var(--arrow-offset) * -1);
  width: var(--arrow-size);
  height: var(--arrow-size);
  border-radius: 50%;
  background: var(--violet);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 6px 18px rgb(from var(--violet-deep) r g b / 0.25);
  text-decoration: none;
  transition: transform var(--ease-fast, var(--duration-fast) var(--ease-standard));
}

.info-card__arrow:hover,
.info-card__arrow:focus-visible {
  transform: scale(1.05);
}

.info-card__arrow svg {
  width: 20px;
  height: 20px;
}

@media (max-width: 640px) {
  .info-card {
    max-width: none;
  }

  .info-card__body {
    padding: 1.25rem;
  }

  .info-card__title {
    font-size: var(--text-body);
  }

  .info-card__description {
    font-size: var(--text-meta);
  }

  .info-card__arrow {
    --arrow-size: 44px;
    --arrow-offset: 10px;
  }

  .info-card__arrow svg {
    width: 16px;
    height: 16px;
  }
}
.hero {
  --hero-ref-w: 1920px;
  --hero-ref-h: 1080px;
  --hero-edge-inset: clamp(1rem, 4.69vw, 3rem);
  --hero-edge-margin: clamp(1rem, 7.81vw, 5rem);

  position: relative;
  height: var(--hero-ref-h);
  overflow: hidden;
  zoom: clamp(0.65, min(calc(100svh / var(--hero-ref-h)), calc(100vw / var(--hero-ref-w))), 1.6);
}

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse at center,
    rgb(var(--gradient-rgb-parchment) / 0.65) 0%,
    rgb(var(--gradient-rgb-parchment) / 0.2) 60%,
    transparent 100%
  );
  z-index: 1;
  pointer-events: none;
}

.hero::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: clamp(6px, 0.6svh, 10px);
  background: var(--violet-deep);
  z-index: 6;
  pointer-events: none;
}

.hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  height: var(--hero-ref-h);
  min-height: var(--hero-ref-h);
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 clamp(1.25rem, 4.69vw, 3rem);
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr auto 1fr;
  align-items: stretch;
  gap: clamp(1rem, 3.13vw, 2rem);
}

.hero__col {
  position: relative;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: 1 / 4;
  row-gap: 0;
  text-align: left;
}

.hero__cursive-slot {
  grid-row: 1;
  align-self: end;
  justify-self: start;
  margin-left: -0.3rem;
  margin-bottom: -1.5rem;
  z-index: 3;
}

.hero__level-slot {
  grid-row: 1;
  align-self: end;
  justify-self: end;
  margin-right: var(--hero-edge-margin);
  margin-bottom: 0.75rem;
  z-index: 3;
}

.hero__col .hero__headline-slot {
  grid-row: 2;
  align-self: center;
}

.hero__tagline-slot {
  grid-row: 3;
  align-self: start;
  justify-self: end;
  margin-top: 1.25rem;
  margin-right: clamp(2rem, 7.81vw, 5rem);
  max-width: clamp(200px, 27.34vw, 280px);
}

.hero__ronin {
  position: absolute;
  bottom: 0;
  left: 49%;
  transform: translateX(-50%);
  z-index: 3;
  pointer-events: none;
}

.hero__ronin::before {
  content: '';
  position: absolute;
  width: 820px;
  height: 820px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -38%);
  border-radius: 50%;
  background: radial-gradient(
    ellipse at center,
    rgb(var(--gradient-rgb-violet-deep) / 0.13) 0%,
    rgb(var(--gradient-rgb-violet) / 0.07) 35%,
    rgb(var(--gradient-rgb-violet) / 0.02) 65%,
    transparent 100%
  );
  z-index: -1;
  pointer-events: none;
}

.hero__ronin::after {
  content: '';
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  width: 420px;
  height: 36px;
  border-radius: 50%;
  background: radial-gradient(
    ellipse at center,
    rgb(var(--gradient-rgb-violet-deep) / 0.18) 0%,
    rgb(var(--gradient-rgb-violet-deep) / 0.06) 55%,
    transparent 100%
  );
  z-index: -1;
  pointer-events: none;
}

.hero__ronin img,
.hero__ronin .hero__ronin-img {
  height: calc(var(--hero-ref-h) * 0.85);
  width: auto;
  max-width: none;
  display: block;
  filter:
    drop-shadow(0 20px 40px rgb(from var(--violet-deep) r g b / 0.35))
    drop-shadow(0 0 90px rgb(from var(--violet-deep) r g b / 0.12));
}

.hero__ronin .hero__ronin-img--glitch {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  pointer-events: none;
}

.hero__ronin .hero__ronin-img--primary {
  position: relative;
  animation: hero-glitch-primary 14s linear infinite;
}

.hero__ronin .hero__ronin-img--glitch {
  animation: hero-glitch-alternate 14s linear infinite;
}

@keyframes hero-glitch-primary {
  0%, 89.5%, 91%, 95.5%, 97%, 100% {
    opacity: 1;
    transform: translate(0, 0);
    filter:
      drop-shadow(0 0 0 rgb(from var(--cyan) r g b / 0))
      drop-shadow(0 0 0 rgb(from var(--color-magenta) r g b / 0))
      drop-shadow(0 20px 40px rgb(from var(--violet-deep) r g b / 0.35))
      drop-shadow(0 0 90px rgb(from var(--violet-deep) r g b / 0.12));
  }
  90% {
    opacity: 0.5;
    transform: translate(-3px, 0);
    filter:
      drop-shadow(3px 0 0 rgb(from var(--cyan) r g b / 0.7))
      drop-shadow(-3px 0 0 rgb(from var(--color-magenta) r g b / 0.6))
      drop-shadow(0 20px 40px rgb(from var(--violet-deep) r g b / 0.35))
      drop-shadow(0 0 90px rgb(from var(--violet-deep) r g b / 0.12));
  }
  91.01%, 95.49% {
    opacity: 0;
  }
  96% {
    opacity: 0.5;
    transform: translate(2px, 0);
    filter:
      drop-shadow(-3px 0 0 rgb(from var(--cyan) r g b / 0.7))
      drop-shadow(3px 0 0 rgb(from var(--color-magenta) r g b / 0.6))
      drop-shadow(0 20px 40px rgb(from var(--violet-deep) r g b / 0.35))
      drop-shadow(0 0 90px rgb(from var(--violet-deep) r g b / 0.12));
  }
}

@keyframes hero-glitch-alternate {
  0%, 89.5%, 91%, 95.5%, 97%, 100% {
    opacity: 0;
    transform: translateX(-50%) translate(0, 0);
    filter:
      drop-shadow(0 0 0 rgb(from var(--cyan) r g b / 0))
      drop-shadow(0 0 0 rgb(from var(--color-magenta) r g b / 0))
      drop-shadow(0 20px 40px rgb(from var(--violet-deep) r g b / 0.35))
      drop-shadow(0 0 90px rgb(from var(--violet-deep) r g b / 0.12));
  }
  90% {
    opacity: 0.5;
    transform: translateX(-50%) translate(3px, 0);
    filter:
      drop-shadow(-3px 0 0 rgb(from var(--cyan) r g b / 0.6))
      drop-shadow(3px 0 0 rgb(from var(--color-magenta) r g b / 0.5))
      drop-shadow(0 20px 40px rgb(from var(--violet-deep) r g b / 0.35))
      drop-shadow(0 0 90px rgb(from var(--violet-deep) r g b / 0.12));
  }
  91.01%, 95.49% {
    opacity: 1;
  }
  96% {
    opacity: 0.5;
    transform: translateX(-50%) translate(-2px, 0);
    filter:
      drop-shadow(3px 0 0 rgb(from var(--cyan) r g b / 0.6))
      drop-shadow(-3px 0 0 rgb(from var(--color-magenta) r g b / 0.5))
      drop-shadow(0 20px 40px rgb(from var(--violet-deep) r g b / 0.35))
      drop-shadow(0 0 90px rgb(from var(--violet-deep) r g b / 0.12));
  }
}

.hero__info-card {
  position: absolute;
  bottom: var(--hero-edge-inset);
  left: var(--hero-edge-inset);
  z-index: 5;
}

@media (max-width: 1279px) {
  .hero {
    --hero-ref-w: 467px;
    --hero-ref-h: 823px;

    min-height: var(--hero-ref-h);
    height: var(--hero-ref-h);
    zoom: clamp(0.55, min(calc(100svh / var(--hero-ref-h)), calc(100vw / var(--hero-ref-w))), 1.6);
  }

  .hero::before {
    display: none;
  }

  .hero__content {
    height: var(--hero-ref-h);
    min-height: var(--hero-ref-h);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    padding-top: 346px;
    padding-bottom: 181px;
    padding-inline: 24px;
    gap: 0;
    width: var(--hero-ref-w);
    max-width: var(--hero-ref-w);
    margin: 0 auto;
    position: relative;
  }

  .hero__col {
    display: contents;
  }

  .hero__ronin {
    position: absolute;
    top: 41px;
    bottom: auto;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    order: unset;
    width: auto;
  }

  .hero__ronin::before {
    content: '';
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transform: none;
    border-radius: 0;
    background: url('/assets/hero-canonical-cut.webp') center/contain no-repeat;
    filter: brightness(0) invert(1);
    z-index: 0;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(
      to bottom,
      black 0%,
      black 70%,
      rgb(var(--gradient-rgb-black) / 0.85) 85%,
      rgb(var(--gradient-rgb-black) / 0.45) 100%
    );
    mask-image: linear-gradient(
      to bottom,
      black 0%,
      black 70%,
      rgb(var(--gradient-rgb-black) / 0.85) 85%,
      rgb(var(--gradient-rgb-black) / 0.45) 100%
    );
  }

  .hero__ronin::after {
    display: none;
  }

  .hero__ronin img {
    width: 411px;
    height: auto;
    max-height: 642px;
    max-width: none;
    position: relative;
    z-index: 1;
    -webkit-mask-image: linear-gradient(
      to bottom,
      black 0%,
      black 62%,
      rgb(var(--gradient-rgb-black) / 0.55) 80%,
      transparent 100%
    );
    mask-image: linear-gradient(
      to bottom,
      black 0%,
      black 62%,
      rgb(var(--gradient-rgb-black) / 0.55) 80%,
      transparent 100%
    );
    filter: drop-shadow(0 12px 24px rgb(from var(--violet-deep) r g b / 0.22));
  }

  .hero__cursive-slot {
    order: 1;
    align-self: flex-start;
    justify-self: unset;
    position: relative;
    margin: 0 0 -17px 9px;
    z-index: 5;
  }

  .hero__col--left .hero__headline-slot {
    order: 2;
    align-self: flex-start;
    justify-self: unset;
    margin: 0;
    z-index: 4;
    position: relative;
  }

  .hero__level-slot {
    position: relative;
    top: auto;
    right: auto;
    order: 3;
    align-self: center;
    justify-self: unset;
    margin: 10px 0 4px 140px;
    z-index: 4;
  }

  .hero__col--right .hero__headline-slot {
    order: 4;
    align-self: center;
    justify-self: unset;
    margin: 0;
    z-index: 4;
    position: relative;
  }

  .hero__col--left .hero__headline-slot,
  .hero__col--right .hero__headline-slot {
    text-shadow:
      0 0 28px rgb(from var(--cream) r g b / 1),
      0 0 56px rgb(from var(--cream) r g b / 0.88),
      0 0 96px rgb(from var(--cream) r g b / 0.62),
      0 0 140px rgb(from var(--cream) r g b / 0.35);
  }

  .hero__cursive-slot,
  .hero__level-slot {
    text-shadow: none;
  }

  .hero__tagline-slot {
    order: 5;
    width: auto;
    max-width: 360px;
    margin: 8px 0 0;
    align-self: center;
    justify-self: unset;
    z-index: 4;
    position: relative;
  }

  .hero__info-card {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    right: auto;
    bottom: 25px;
    width: 419px;
    max-width: 419px;
  }
}

.hero[data-offscreen="true"] .hero__ronin-img--primary,
.hero[data-offscreen="true"] .hero__ronin-img--glitch,
.hero[data-offscreen="true"] .pattern-layer--front,
.hero[data-offscreen="true"] .pattern-layer--back {
  animation-play-state: paused;
}
:root{--session-badge-inset-block:clamp(1rem, 3svh, 2rem);--session-badge-inset-inline:clamp(1rem, 3vw, 2.5rem)}.demo{width:100%;min-height:calc(100svh - var(--nav-height));background:linear-gradient(rgb(var(--gradient-rgb-ink) / .93), rgb(var(--gradient-rgb-ink) / .93)), url(/assets/circuit-board-violet.svg) var(--ink) repeat;isolation:isolate;--vkb-height:0px;background-size:auto,304px 304px;position:relative;overflow:hidden}@media (hover:none) and (pointer:coarse){.demo{--vkb-height:290px}}@media (hover:none) and (pointer:coarse) and (width>=700px){.demo{--vkb-height:320px}}.demo:after{content:"";background:var(--violet-deep);z-index:6;pointer-events:none;height:6px;position:absolute;bottom:0;left:0;right:0}.demo__intro-seal{--duration-seal-spin:24s;animation:demo-shuriken-turn var(--duration-seal-spin) linear infinite}@keyframes demo-shuriken-turn{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.demo__intro-seal{animation:none}}.demo__foreground{z-index:5;min-height:calc(100svh - var(--nav-height));pointer-events:none;justify-content:center;align-items:center;padding:clamp(5rem,10svh,6rem) clamp(1rem,4vw,3rem);display:flex;position:relative}.demo__composition{--composition-corner-size:28px;--composition-corner-offset:-22px;max-width:var(--width-content);width:100%;transition:opacity var(--duration-slow) var(--ease-standard), transform var(--duration-slow) var(--ease-standard), visibility 0s;grid-template-columns:1fr;place-items:center;gap:clamp(2rem,5vw,4rem);display:grid;position:relative}.demo__composition:before,.demo__composition:after{content:"";width:var(--composition-corner-size);height:var(--composition-corner-size);opacity:.45;pointer-events:none;position:absolute}.demo__composition:before{top:var(--composition-corner-offset);left:var(--composition-corner-offset);border-top:1px solid var(--cyan);border-left:1px solid var(--cyan)}.demo__composition:after{bottom:var(--composition-corner-offset);right:var(--composition-corner-offset);border-bottom:1px solid var(--cyan);border-right:1px solid var(--cyan)}.demo__composition--hidden{opacity:0;visibility:hidden;pointer-events:none;transition-delay:0s, 0s, var(--duration-slow);transform:scale(.96)}@media (width>=900px){.demo__composition{grid-template-columns:minmax(0,1fr) min(400px,45vw);place-items:center start}}@media (width<=900px){.demo__composition{height:auto;min-height:100%;padding-bottom:env(safe-area-inset-bottom,0);grid-template-rows:minmax(min-content,1fr) minmax(min-content,1fr);place-items:center;gap:clamp(1.5rem,5svh,3rem)}.demo__intro,.auth-terminal{transition:transform var(--duration-door) var(--ease-door), opacity var(--duration-slow) var(--ease-standard)}.auth-terminal{margin-top:clamp(1rem,4svh,2.5rem)}.demo__composition--hidden{opacity:1;transition-delay:0s, 0s, var(--duration-door);transform:none}.demo__composition--hidden .demo__intro{transform:translateY(-100svh)}.demo__composition--hidden .auth-terminal{transform:translateY(100svh)}}@media (prefers-reduced-motion:reduce){.demo__composition,.demo__intro,.auth-terminal{transition:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--duration-progress-fill:.4s}.auth-terminal__capsule-shimmer{--duration-shimmer:1.8s;background:linear-gradient(90deg, transparent 0%, rgb(var(--gradient-rgb-white) / 0) 35%, rgb(var(--gradient-rgb-white) / .55) 50%, rgb(var(--gradient-rgb-white) / 0) 65%, transparent 100%);animation:auth-terminal-shimmer var(--duration-shimmer) ease-in-out infinite;transform:translate(-100%)}@keyframes auth-terminal-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.auth-terminal__capsule-shimmer{opacity:0;animation:none}}@media (width<=900px){.auth-terminal--hidden{opacity:1;transform:translateY(100svh)}}.door-mechanism__panel{--door-shadow-blur:30px;background:linear-gradient(rgb(var(--gradient-rgb-ink) / .88), rgb(var(--gradient-rgb-ink) / .88)), url(/assets/topography-violet.svg) var(--ink) repeat;pointer-events:auto;background-size:auto,600px 600px}.door-mechanism--moving .door-mechanism__panel{transition:transform var(--duration-door) var(--ease-door), visibility 0s}.door-mechanism--moving.door-mechanism--open .door-mechanism__panel{transition-delay:0s, var(--duration-door)}.door-mechanism__panel--left{border-right:1px solid rgb(from var(--violet) r g b / .35);box-shadow:10px 0 var(--door-shadow-blur) rgb(from var(--mask-visible) r g b / .35)}.door-mechanism__panel--right{border-left:1px solid rgb(from var(--violet) r g b / .35);box-shadow:-10px 0 var(--door-shadow-blur) rgb(from var(--mask-visible) r g b / .35)}.door-mechanism--open .door-mechanism__panel--left{transform:translate(-100%)}.door-mechanism--open .door-mechanism__panel--right{transform:translate(100%)}.door-mechanism--open .door-mechanism__panel{visibility:hidden;pointer-events:none}.door-mechanism__kanji{letter-spacing:-.05em;color:var(--cream);opacity:.05;user-select:none;white-space:nowrap;font-family:Kanji Watermark,Hiragino Mincho ProN,Yu Mincho,serif;font-size:clamp(18rem,40svh,32rem);font-weight:900;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.door-mechanism__panel--left .door-mechanism__kanji{right:1rem}.door-mechanism__panel--right .door-mechanism__kanji{left:1rem}@media (width<=900px){.door-mechanism{flex-direction:column}.door-mechanism__panel{width:100%;height:50%}.door-mechanism__panel--left{border-right:none;border-bottom:1px solid rgb(from var(--violet-deep) r g b / .2);box-shadow:0 10px var(--door-shadow-blur) rgb(from var(--violet-deep) r g b / .05)}.door-mechanism__panel--right{border-left:none;border-top:1px solid rgb(from var(--violet-deep) r g b / .2);box-shadow:0 -10px var(--door-shadow-blur) rgb(from var(--violet-deep) r g b / .05)}.door-mechanism--open .door-mechanism__panel--left{transform:translateY(-100%)}.door-mechanism--open .door-mechanism__panel--right{transform:translateY(100%)}.door-mechanism__kanji{font-size:clamp(10rem,30svh,18rem)}.door-mechanism__panel--left .door-mechanism__kanji,.door-mechanism__panel--right .door-mechanism__kanji{left:50%;right:auto;transform:translate(-50%,-50%)}}@media (prefers-reduced-motion:reduce){.door-mechanism--moving .door-mechanism__panel{transition:none}}.demo-stage{top:clamp(.75rem,2svh,1.5rem);left:clamp(1rem,4vw,3rem);right:clamp(1rem,4vw,3rem);bottom:calc(clamp(.75rem, 2svh, 1.5rem) + var(--vkb-height,0px));z-index:1;filter:drop-shadow(0 22px 50px rgb(from var(--violet-deep) r g b / .22)) drop-shadow(0 2px 8px rgb(from var(--ink) r g b / .08));position:absolute}.countdown--pulse{--duration-countdown-pulse:1s;animation:countdownPulse var(--duration-countdown-pulse) ease-in-out infinite}@keyframes countdownPulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.countdown--pulse{animation:none}}
.desktop-welcome {
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  animation: desktop-welcome-fade-in var(--duration-hover) ease-out;
}

.desktop-welcome__panel {
  --duration-welcome-rise: 280ms;
  animation: desktop-welcome-rise var(--duration-welcome-rise) var(--ease-emphasis);
}

@keyframes desktop-welcome-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes desktop-welcome-rise {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .desktop-welcome,
  .desktop-welcome__panel {
    animation: none;
  }
}
.vnc-overlay{background:radial-gradient(circle at 50% 50%, rgb(var(--gradient-rgb-violet) / .22) 0%, transparent 55%), linear-gradient(180deg, var(--ink) 0%, var(--ink-deeper) 100%);z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.vnc-overlay__scanlines{pointer-events:none;background-image:repeating-linear-gradient(0deg, transparent 0, transparent 2px, rgb(var(--gradient-rgb-violet) / .05) 2px, rgb(var(--gradient-rgb-violet) / .05) 3px);opacity:.7;position:absolute;inset:0}.vnc-overlay__content{text-align:center;flex-direction:column;align-items:center;gap:1rem;max-width:min(560px,80%);padding:2rem;display:flex;position:relative}.vnc-overlay__headline{letter-spacing:4px;text-transform:uppercase;color:var(--violet);text-shadow:0 0 12px rgb(from var(--violet) r g b / .6);margin:0;font-family:ui-monospace,JetBrains Mono,Courier New,monospace;font-size:1rem;font-weight:600}.vnc-overlay__headline--error{color:var(--cream);text-shadow:0 0 10px rgb(from var(--violet) r g b / .55)}.vnc-overlay__subline{letter-spacing:var(--tracking-label);color:rgb(from var(--cream) r g b / .65);max-width:40ch;margin:0;font-family:ui-monospace,JetBrains Mono,Courier New,monospace;font-size:.78rem;line-height:1.5}.vnc-overlay__pulse{--pulse-dot-size:.7rem;--duration-overlay-pulse:1.4s;--pulse-stagger:.2s;gap:.45rem;margin-bottom:.25rem;display:inline-flex}.vnc-overlay__pulse span{width:var(--pulse-dot-size);height:var(--pulse-dot-size);background:var(--cream);box-shadow:0 0 8px rgb(from var(--cream) r g b / .95), 0 0 18px rgb(from var(--cream) r g b / .55);animation:vnc-overlay-pulse var(--duration-overlay-pulse) ease-in-out infinite;border-radius:50%}.vnc-overlay__pulse span:nth-child(2){animation-delay:var(--pulse-stagger)}.vnc-overlay__pulse span:nth-child(3){animation-delay:calc(var(--pulse-stagger) * 2)}@keyframes vnc-overlay-pulse{0%,80%,to{opacity:.3;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.vnc-overlay__icon{--icon-glow-blur:10px;width:3rem;height:3rem;color:var(--violet);filter:drop-shadow(0 0 var(--icon-glow-blur) rgb(from var(--violet) r g b / .55));justify-content:center;align-items:center;display:inline-flex}.vnc-overlay__icon svg{width:100%;height:100%}.vnc-overlay__icon--error{color:var(--cream);filter:drop-shadow(0 0 var(--icon-glow-blur) rgb(from var(--violet) r g b / .6))}@media (prefers-reduced-motion:reduce){.vnc-overlay__pulse span{opacity:.75;animation:none;transform:none}}:root{--vnc-placeholder-watermark-size:clamp(10rem, 22svh, 18rem)}.vnc-placeholder{box-shadow:inset 0 2px 4px rgb(from var(--mask-visible) r g b / .45), inset 2px 0 4px rgb(from var(--mask-visible) r g b / .35), inset 0 -1px 0 var(--violet-tint), inset -1px 0 0 var(--violet-tint);background:radial-gradient(ellipse at 50% 55%, rgb(var(--gradient-rgb-violet-deep) / .2) 0%, rgb(var(--gradient-rgb-ink) / 0) 55%), var(--ink)}.vnc-desktop{width:100%;height:100%;position:relative}.vnc-desktop__canvas{width:100%;height:100%}.vnc-desktop__canvas>div{background:var(--ink)!important}.vkb__key{transition:transform var(--duration-instant) var(--ease-standard), background-color var(--duration-instant) var(--ease-standard), border-color var(--duration-instant) var(--ease-standard)}.vkb__key--armed{background:var(--violet-deep);border-color:var(--violet);color:var(--white);box-shadow:0 0 0 1px var(--violet), 0 0 14px rgb(from var(--violet) r g b / .4)}.demo__keyboard{--duration-keyboard-in:.26s;z-index:6;animation:demo-keyboard-in var(--duration-keyboard-in) var(--ease-emphasis) both;justify-content:center;padding:0 1rem;display:flex;position:absolute;bottom:.5rem;left:0;right:0}@keyframes demo-keyboard-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.vkb{box-shadow:0 20px 60px rgb(from var(--violet-deep) r g b / .15);pointer-events:auto}@media (prefers-reduced-motion:reduce){.demo__keyboard{animation:none}.vkb__key{transition:none}.vkb__key:active{transform:none}}.about{isolation:isolate;background:var(--cream);padding:var(--section-pad) var(--content-padding);border-top:1px solid var(--ink-faint);border-bottom:1px solid var(--ink-faint);position:relative;overflow:hidden}.about:before{content:"";z-index:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.about__inner{z-index:2;max-width:var(--width-content);text-align:center;flex-direction:column;align-items:center;margin:0 auto;display:flex;position:relative}.about .section-watermark{top:16%;transform:none}.about__branch{user-select:none;pointer-events:none;z-index:1;height:auto;position:absolute}.about__branch--left{transform-origin:0;will-change:transform;width:clamp(18rem,30vw,36rem);animation:6.2s ease-in-out infinite about-wind-left;top:50%;left:-2rem;transform:translateY(-50%)}.about__branch--left-back{transform-origin:0;opacity:.75;z-index:0;will-change:transform;width:clamp(14rem,24vw,28rem);animation:7.4s ease-in-out infinite about-wind-left-back;top:50%;left:-2rem;transform:translateY(-50%)rotate(-18deg)}.about__branch--right{transform-origin:100%;will-change:transform;width:clamp(18rem,30vw,36rem);animation:6.8s ease-in-out infinite about-wind-right;top:50%;right:-2rem;transform:translateY(-50%)}.about__branch--right-back{transform-origin:100%;opacity:.75;z-index:0;will-change:transform;width:clamp(18rem,30vw,36rem);animation:8s ease-in-out infinite about-wind-right-back;top:50%;right:-2rem;transform:translateY(-50%)rotate(18deg)}@media (width<=900px){.about__branch{animation:none;display:none}}.about__eyebrow{text-shadow:0 0 6px var(--cream), 0 0 12px var(--cream), 0 0 18px var(--cream);margin:0 0 2rem}.about__seal{animation:6s ease-in-out infinite about-seal-float}.about__lead{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);max-width:22ch;text-shadow:0 0 10px var(--cream), 0 0 24px var(--cream);margin:0 0 2rem;font-size:clamp(2rem,4.2vw,3.4rem);font-weight:700;line-height:1.15}.about__lead em{color:var(--violet-deep);font-style:normal;position:relative}.about__lead em:after{content:"";background:var(--cyan);opacity:.85;border-radius:1px;height:.08em;position:absolute;bottom:.08em;left:0;right:0}@media (width<=900px){.about{padding:var(--section-pad-mobile-fixed)}.about__lead{font-size:clamp(1.6rem,6.5vw,2.4rem)}}@keyframes about-wind-left{0%,to{transform:translateY(-50%)rotate(0)}50%{transform:translateY(-50%)rotate(1.4deg)}}@keyframes about-wind-left-back{0%,to{transform:translateY(-50%)rotate(-18deg)}50%{transform:translateY(-50%)rotate(-16.6deg)}}@keyframes about-wind-right{0%,to{transform:translateY(-50%)rotate(0)}50%{transform:translateY(-50%)rotate(-1.4deg)}}@keyframes about-wind-right-back{0%,to{transform:translateY(-50%)rotate(18deg)}50%{transform:translateY(-50%)rotate(16.6deg)}}@keyframes about-seal-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.about__branch,.about__seal{animation:none}}
.approach::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--violet-subtle) 1px, transparent 1px),
    linear-gradient(90deg, var(--violet-subtle) 1px, transparent 1px);
  background-size: 88px 88px;
  -webkit-mask-image: radial-gradient(75% 65% at 50% 42%, var(--mask-visible) 0%, transparent 100%);
          mask-image: radial-gradient(75% 65% at 50% 42%, var(--mask-visible) 0%, transparent 100%);
  pointer-events: none;
  z-index: 0;
}

.approach__seal {
  animation: approach-gear-rock 14s ease-in-out infinite;
}

.approach__accent {
  color: var(--violet-deep);
  position: relative;
}
.approach__accent::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.05em;
  height: 0.08em;
  background: var(--cyan);
  border-radius: 1px;
  opacity: 0.85;
}

.approach__list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: 980px;
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 4vw, 3rem);
}

.approach__row {
  display: grid;
  grid-template-columns: minmax(4.5rem, auto) 1fr;
  gap: clamp(1.25rem, 3vw, 2.5rem);
  align-items: start;
}

.approach__num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(2.75rem, 6vw, 4.5rem);
  line-height: 0.9;
  color: var(--violet);
  opacity: 0.28;
  letter-spacing: -0.02em;
}

.approach__headline {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(1.35rem, 2.6vw, 2rem);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0 0 0.6rem;
}

@keyframes approach-gear-rock {
  0%, 100% { transform: rotate(0deg); }
  25%      { transform: rotate(6deg); }
  75%      { transform: rotate(-6deg); }
}

@media (max-width: 900px) {
  .approach {
    padding: var(--section-pad-mobile);
  }
  .approach__row {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
  .approach__num {
    font-size: 2.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .approach__seal {
    animation: none;
  }
}
.services{isolation:isolate;background:linear-gradient(#1a0f2ef0, #1a0f2ef0), url(/assets/circuit-board-violet.svg) var(--ink) repeat;color:var(--cream);padding:var(--section-pad) var(--content-padding);background-size:auto,304px 304px;position:relative;overflow:hidden}.services:before{content:"";background:radial-gradient(ellipse at center, rgb(var(--gradient-rgb-violet) / .14) 0%, transparent 60%);pointer-events:none;z-index:0;width:90%;height:100%;position:absolute;bottom:-30%;left:50%;transform:translate(-50%)}.services:after{content:"";background:var(--violet-deep);pointer-events:none;height:6px;position:absolute;bottom:0;left:0;right:0}.services__seal{transform-origin:top;animation:7s ease-in-out infinite services-seal-sway}.services__grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.service-card{background:rgb(from var(--cream) r g b / .03);border:1px solid rgb(from var(--cream) r g b / .1);min-height:380px;transition:transform var(--duration-hover) var(--ease-swoop), border-color var(--duration-hover) var(--ease-standard), background var(--duration-hover) var(--ease-standard);border-radius:4px;flex-direction:column;gap:.9rem;padding:2rem;display:flex}.service-card:hover{border-color:var(--violet);background:rgb(from var(--cream) r g b / .05);box-shadow:0 14px 44px -12px rgb(from var(--violet-deep) r g b / .28);transform:translateY(-8px)}.service-card__crate{will-change:transform;width:min(180px,60%);margin:0 auto .5rem;animation:4s ease-in-out infinite service-crate-float;position:relative}.service-card__crate:before{content:"";background:radial-gradient(circle, rgb(var(--gradient-rgb-violet) / .32) 0%, rgb(var(--gradient-rgb-cyan) / .08) 55%, transparent 72%);border-radius:50%;position:absolute;inset:-12%}.service-card:nth-child(2) .service-card__crate{animation-delay:-1.3s}.service-card:nth-child(3) .service-card__crate{animation-delay:-2.6s}.service-card__crate img{object-fit:contain;width:100%;height:180px;filter:drop-shadow(0 6px 18px rgb(from var(--mask-visible) r g b / .45));transition:transform var(--duration-hover) var(--ease-standard);display:block;position:relative}.service-card:hover .service-card__crate img{transform:scale(1.06)}.service-card__num{font-family:var(--font-display);color:var(--violet);opacity:.35;letter-spacing:-.02em;font-size:2.5rem;font-weight:700;line-height:1}.service-card__title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--cream);align-self:flex-start;margin:0;font-size:1.5rem;font-weight:700;line-height:1.15;position:relative}.service-card__title:after{content:"";background:linear-gradient(90deg, var(--violet) 0%, var(--cyan) 100%);transform-origin:0;height:1px;transition:transform .42s var(--ease-glide);position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.service-card:hover .service-card__title:after{transform:scaleX(1)}.service-card__desc{font-family:var(--font-body);color:rgb(from var(--cream) r g b / .66);flex-grow:1;margin:0;font-size:.92rem;line-height:1.6}.service-card__tag{font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--cream);background:rgb(from var(--cream) r g b / .06);border:1px solid rgb(from var(--cream) r g b / .14);padding:.28rem .6rem;font-size:.72rem;font-weight:600}@keyframes services-seal-sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes service-crate-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (width<=1023px){.services__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.services{padding:var(--section-pad-mobile)}.services__grid{grid-template-columns:var(--grid-single-col);gap:var(--grid-gap-mobile)}.service-card{min-height:auto;padding:var(--card-pad-mobile)}}@media (prefers-reduced-motion:reduce){.services__seal,.service-card__crate{animation:none}.service-card__title:after{transition:none}}.projects__seal{animation:5s ease-in-out infinite projects-seal-float}.projects__grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.projects__grid--loaded>.project-card:last-child:nth-child(2n){grid-column:1/-1}.project-card{background:linear-gradient(135deg, var(--violet-subtle) 0%, transparent 45%), var(--color-cream-dark);border:1px solid var(--ink-faint);min-height:250px;box-shadow:inset 0 1px 0 rgb(from var(--white) r g b / .5);color:var(--ink);transition:transform var(--duration-hover) var(--ease-swoop), border-color var(--duration-hover) var(--ease-standard), box-shadow var(--duration-hover) var(--ease-standard);border-radius:4px;flex-direction:column;gap:1rem;padding:2rem;text-decoration:none;display:flex;position:relative}a.project-card:hover,a.project-card:focus-visible{border-color:var(--violet);box-shadow:0 14px 44px -12px rgb(from var(--violet-deep) r g b / .28);transform:translateY(-8px)}a.project-card:focus-visible{outline-offset:4px}.project-card--wide{background:var(--ink);min-height:380px;color:var(--cream);border-color:#0000;grid-column:1/-1;position:relative;overflow:hidden}.project-card--wide>:not(.project-card__scene):not(.project-card__scrim){z-index:1;position:relative}.project-card__scene{z-index:0;transition:transform 1.2s var(--ease-glide);will-change:transform;background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.001)}.project-card__scrim{z-index:0;background:linear-gradient(115deg, rgb(var(--gradient-rgb-ink) / .9) 0%, rgb(var(--gradient-rgb-ink) / .5) 55%, rgb(var(--gradient-rgb-ink) / .3) 100%), linear-gradient(0deg, rgb(var(--gradient-rgb-ink) / .82) 0%, transparent 50%);position:absolute;inset:0}a.project-card--wide:hover .project-card__scene,a.project-card--wide:focus-visible .project-card__scene{transform:scale(1.045)}.project-card--wide .project-card__top{margin-bottom:auto}.project-card--wide .project-card__body{flex-grow:0}.project-card--wide .project-card__status{color:var(--cyan);background:rgb(from var(--cyan) r g b / .12)}.project-card--wide .project-card__title{color:var(--cream);font-size:clamp(2.1rem,5vw,3.3rem)}.project-card--wide .project-card__tagline{color:rgb(from var(--cream) r g b / .78)}.project-card--wide .project-card__tag{color:var(--cream);background:rgb(from var(--cream) r g b / .08);border-color:rgb(from var(--cream) r g b / .16)}.project-card--static{cursor:default}.project-card--more{background:linear-gradient(135deg, var(--violet-wash) 0%, transparent 50%), var(--cream);border-style:dashed;justify-content:flex-start;gap:.9rem;padding-top:3rem}.more-card__prompt{color:var(--violet-deep);font-family:var(--font-mono);align-items:center;gap:2px;margin:0;font-size:1rem;font-weight:500;display:flex}.more-card__cursor{background:var(--cyan);width:9px;height:1.15em;animation:1.1s steps(2,start) infinite more-cursor-blink;display:inline-block}.project-card__top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.project-card__status{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--violet-deep);background:var(--violet-tint);border-radius:999px;padding:.3rem .7rem;font-size:.72rem;font-weight:600}.project-card__open{color:var(--violet-deep);opacity:.5;transition:opacity var(--ease-fast), transform var(--ease-fast);display:inline-flex}.project-card__open svg{width:18px;height:18px;display:block}.project-card--wide .project-card__open{color:var(--cyan);opacity:.85}a.project-card:hover .project-card__open,a.project-card:focus-visible .project-card__open{opacity:1;transform:translate(2px,-2px)}.project-card__body{flex-grow:1}.project-card__title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0 0 .4rem;font-size:1.7rem;font-weight:700;line-height:1.08}.project-card__tagline{font-family:var(--font-body);color:var(--ink-subtle);margin:0;font-size:.95rem;line-height:1.55}.project-card--wide .project-card__tagline{max-width:46ch;font-size:1.05rem}.project-card__tag{font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:var(--cream);border:1px solid var(--ink-faint);padding:.28rem .6rem;font-size:.72rem;font-weight:600}.project-card--skeleton{pointer-events:none;justify-content:flex-start;gap:1rem}.project-skeleton{background:var(--violet-subtle);border-radius:4px;display:block;position:relative;overflow:hidden}.project-skeleton:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--violet-tint) 50%, transparent 100%);will-change:transform;animation:1.4s ease-in-out infinite project-shimmer;position:absolute;inset:0;transform:translate(-100%)}.project-skeleton--pill{width:30%;height:1.2rem}.project-skeleton--title{width:65%;height:1.7rem}.project-skeleton--title.is-wide{width:45%;height:2.4rem}.project-skeleton--line{width:100%;height:.85rem}.project-skeleton--line.is-short{width:55%}@keyframes projects-seal-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes project-shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes more-cursor-blink{to{visibility:hidden}}@media (width<=900px){.projects{padding:var(--section-pad-mobile-fixed)}.projects__grid{grid-template-columns:var(--grid-single-col);gap:var(--grid-gap-mobile)}.project-card,.project-card--wide{min-height:auto;padding:var(--card-pad-mobile)}}@media (prefers-reduced-motion:reduce){.projects__seal,.more-card__cursor,.project-skeleton:after{animation:none}.project-card__scene{transition:none}}
.process::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: radial-gradient(var(--violet-subtle) 1px, transparent 1px);
  background-size: 24px 24px;
  -webkit-mask-image: radial-gradient(70% 60% at 30% 50%, var(--mask-visible) 0%, transparent 100%);
          mask-image: radial-gradient(70% 60% at 30% 50%, var(--mask-visible) 0%, transparent 100%);
}

.process__seal {
  animation: process-butterfly-rock 18s ease-in-out infinite;
}

.process__timeline {
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: 880px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: clamp(2.5rem, 5vw, 3.5rem);
}

.process__timeline::before {
  content: '';
  position: absolute;
  left: 1.75rem;
  top: 1rem;
  bottom: 1rem;
  width: 2px;
  background: linear-gradient(180deg, var(--violet) 0%, var(--cyan) 100%);
  opacity: 0.35;
}

@media (prefers-reduced-motion: no-preference) {
  .process.reveal .process__timeline::before {
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 800ms var(--ease-glide) var(--duration-settle);
  }
  .process.reveal.is-inview .process__timeline::before {
    transform: scaleY(1);
  }
}

.process__step {
  display: grid;
  grid-template-columns: 3.5rem 1fr;
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: start;
}

.process__marker {
  position: relative;
  z-index: 1;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1rem;
  color: var(--violet-deep);
  background: var(--cream);
  border: 2px solid var(--violet-medium);
  box-shadow: 0 0 0 6px var(--cream);
}

.process__duration {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--violet-deep);
  background: var(--violet-tint);
  border: 1px solid var(--violet-soft);
  border-radius: 999px;
  padding: 0.25rem 0.7rem;
  margin-bottom: 0.6rem;
}

.process__step-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(1.35rem, 2.6vw, 2rem);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0 0 0.5rem;
}

@keyframes process-butterfly-rock {
  0%, 100% { transform: rotate(0deg); }
  25%      { transform: rotate(4deg); }
  75%      { transform: rotate(-4deg); }
}

@media (max-width: 900px) {
  .process {
    padding: var(--section-pad-mobile);
  }
  .process__timeline::before {
    left: 1.25rem;
  }
  .process__step {
    grid-template-columns: 2.5rem 1fr;
    gap: 1rem;
  }
  .process__marker {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 0.85rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .process__seal {
    animation: none;
  }
}
.interlude{isolation:isolate;background:var(--ink);border-top:6px solid var(--violet-deep);border-bottom:6px solid var(--violet-deep);justify-content:center;align-items:center;min-height:58svh;display:flex;position:relative;overflow:hidden}.interlude__scene{background:url(/assets/scene-dragon-pagoda.webp) 50% 38%/cover no-repeat;position:absolute;inset:0}.interlude__video{object-fit:cover;object-position:center 38%;width:100%;height:100%;position:absolute;inset:0}.interlude__scrim{background:radial-gradient(80% 90% at 50% 55%, transparent 0%, rgb(var(--gradient-rgb-ink) / .55) 100%), linear-gradient(180deg, rgb(var(--gradient-rgb-ink) / .5) 0%, transparent 30%, transparent 70%, rgb(var(--gradient-rgb-ink) / .55) 100%);position:absolute;inset:0}.interlude__quote{z-index:1;width:100%;padding:clamp(2.5rem, 7svh, 4.5rem) var(--content-padding);text-align:center;background:linear-gradient(90deg, transparent 0%, rgb(var(--gradient-rgb-ink) / .78) 18%, rgb(var(--gradient-rgb-ink) / .78) 82%, transparent 100%);margin:0;position:relative}.interlude__jp{letter-spacing:.08em;color:var(--cream);text-shadow:0 2px 18px rgb(from var(--mask-visible) r g b / .9);margin:0 0 1rem;font-family:Kanji Watermark,Hiragino Mincho ProN,Yu Mincho,serif;font-size:clamp(1.9rem,4.6vw,3.6rem);font-weight:900}.interlude__en{font-family:var(--font-body);color:rgb(from var(--cream) r g b / .88);max-width:58ch;text-shadow:0 1px 10px rgb(from var(--mask-visible) r g b / .9);margin:0 auto;font-size:clamp(.95rem,1.2vw,1.1rem);line-height:1.6}@media (width<=640px){.interlude{min-height:44svh}}@media (prefers-reduced-motion:reduce){.interlude__video{display:none}}:root{--puzzle-ambient-loop-duration:2s}@keyframes playerBreathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.02)}}@keyframes playerVictory{0%{transform:scale(1)}40%{transform:scale(1.15)translateY(-6px)}70%{transform:scale(1.05)translateY(-2px)}to{transform:scale(1)}}@keyframes playerStumble{0%{transform:rotate(0)}20%{transform:rotate(-8deg)translate(-3px)}40%{transform:rotate(5deg)translate(2px)}60%{transform:rotate(-3deg)}80%{opacity:.7;transform:rotate(1deg)}to{opacity:1;transform:rotate(0)}}.puzzle-player{--puzzle-sprite-anchor-x:-51%;--puzzle-sprite-anchor-y:-70%;transform:translate(var(--puzzle-sprite-anchor-x), var(--puzzle-sprite-anchor-y));transition:left var(--duration-medium) var(--ease-spring), top var(--duration-medium) var(--ease-spring)}.puzzle-player--idle{animation:playerBreathe var(--puzzle-ambient-loop-duration) ease-in-out infinite}.puzzle-player--victory{animation:playerVictory var(--duration-slow) var(--ease-spring);filter:drop-shadow(0 0 12px rgb(from var(--violet) r g b / .5))}.puzzle-player--stumble{filter:drop-shadow(0 3px 8px rgb(from var(--color-danger) r g b / .4));animation:.5s ease-out playerStumble}@keyframes terminalEntry{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes terminalShake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.puzzle-terminal{animation:terminalEntry var(--duration-slow) var(--ease-glide) both}.puzzle-terminal--won{border-color:var(--violet);box-shadow:0 12px 48px rgb(from var(--violet-deep) r g b / .1), 0 0 0 1px var(--violet-tint)}.puzzle-terminal--failed{border-color:var(--color-danger);animation:.4s ease-out terminalShake}@keyframes slotEntrance{0%{opacity:0;transform:translate(8px)scale(.85)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes execPulse{0%{box-shadow:0 0 0 0 rgb(from var(--violet) r g b / .6)}to{box-shadow:0 0 0 6px rgb(from var(--violet) r g b / 0)}}.cmd-slot--filled{animation:slotEntrance .18s var(--ease-spring) both}.cmd-slot--executing{animation:execPulse var(--duration-slow) var(--ease-standard) infinite alternate}@keyframes consoleDotPulse{0%{opacity:.4}to{opacity:1}}.console-dot--executing{animation:consoleDotPulse var(--duration-slow) var(--ease-standard) infinite alternate}@keyframes messageEntrance{0%{opacity:0;transform:translateY(4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.console-message,.puzzle-status--solved{animation:messageEntrance var(--duration-settle) var(--ease-glide) both}@keyframes actionPulse{0%,to{opacity:0}50%{opacity:1}}.run-btn--ready,.next-btn--active{--puzzle-cta-ring-spread:5px;box-shadow:0 3px 12px rgb(from var(--violet-deep) r g b / .2);position:relative}.run-btn--ready:after,.next-btn--active:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;animation:actionPulse var(--puzzle-ambient-loop-duration) ease infinite;position:absolute;inset:0}.run-btn--ready:after{box-shadow:0 0 0 var(--puzzle-cta-ring-spread) var(--violet-soft)}.next-btn--active:after{box-shadow:0 0 0 var(--puzzle-cta-ring-spread) rgb(from var(--violet) r g b / .1);animation-duration:1.5s}.console-body::-webkit-scrollbar{width:6px}.console-body::-webkit-scrollbar-track{background:0 0}.console-body::-webkit-scrollbar-thumb{background:var(--violet-medium);border-radius:9999px}.console-body::-webkit-scrollbar-thumb:hover{background:var(--violet-strong)}@keyframes goalActivate{0%{box-shadow:0 0 0 0 rgb(from var(--cyan) r g b / var(--puzzle-goal-glow-alpha)), 0 0 0 0 rgb(from var(--violet) r g b / .4)}70%{box-shadow:0 0 0 var(--puzzle-goal-glow-reach) rgb(from var(--cyan) r g b / 0), 0 0 0 calc(var(--puzzle-goal-glow-reach) / 2) rgb(from var(--violet) r g b / 0)}to{box-shadow:0 0 0 0 rgb(from var(--cyan) r g b / 0), 0 0 0 0 rgb(from var(--violet) r g b / 0)}}@keyframes goalGlow{0%,to{opacity:0}50%{opacity:1}}.puzzle-goal--reached{--puzzle-goal-glow-alpha:.55;--puzzle-goal-glow-reach:14px;box-shadow:0 0 6px 1px rgb(from var(--cyan) r g b / .35);animation:goalActivate var(--duration-slow) var(--ease-glide);position:relative}.puzzle-goal--reached:after{content:"";border-radius:inherit;box-shadow:0 0 var(--puzzle-goal-glow-reach) 4px rgb(from var(--cyan) r g b / var(--puzzle-goal-glow-alpha));opacity:0;pointer-events:none;animation:goalGlow 1.8s ease-in-out var(--duration-slow) infinite;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.puzzle-player--idle,.puzzle-player--victory,.puzzle-player--stumble,.puzzle-terminal,.puzzle-terminal--failed,.cmd-slot--filled,.cmd-slot--executing,.console-dot--executing,.console-message,.puzzle-status--solved,.run-btn--ready:after,.next-btn--active:after,.puzzle-goal--reached,.puzzle-goal--reached:after{animation:none!important}.puzzle-goal--reached{box-shadow:0 0 10px 2px rgb(from var(--cyan) r g b / .45)}}
.connect {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--ink);
  color: var(--cream);
  min-height: 88svh;
  display: flex;
  align-items: center;
  padding: clamp(6rem, 18svh, 11rem) var(--content-padding);
}

.connect__scene {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: url('/assets/scene-torii-dawn.webp') center 72% / cover no-repeat;
  opacity: 0.22;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, var(--mask-visible) 55%);
          mask-image: linear-gradient(180deg, transparent 0%, var(--mask-visible) 55%);
  animation: connect-drift 26s ease-in-out infinite alternate;
  will-change: transform;
}

.connect__glow {
  position: absolute;
  left: 50%;
  top: 36%;
  z-index: 0;
  width: min(70vw, 760px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgb(var(--gradient-rgb-violet) / 0.22) 0%, transparent 62%);
  filter: blur(22px);
  pointer-events: none;
}

.connect__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--width-content);
  margin: 0 auto;
}

.connect__eyebrow {
  margin-bottom: 1.5rem;
}

.connect__seal {
  animation: connect-crane-float 8s ease-in-out infinite;
}

.connect__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(3rem, 11vw, 8rem);
  line-height: 0.94;
  letter-spacing: -0.04em;
  color: var(--cream);
  margin: 0 0 2rem;
}
.connect__title em {
  font-family: var(--font-signature);
  font-style: normal;
  font-weight: 400;
  color: var(--cyan);
}

.connect__avail {
  font-family: var(--font-body);
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.6;
  color: rgb(from var(--cream) r g b / 0.62);
  max-width: 46ch;
  margin: 0 0 clamp(2.5rem, 5vw, 4rem);
}

.connect__email {
  display: inline-block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(1.4rem, 3.6vw, 2.7rem);
  letter-spacing: -0.02em;
  color: var(--cream);
  text-decoration: none;
  position: relative;
  transition: color var(--ease-medium);
}
.connect__email::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.08em;
  height: 2px;
  background: var(--cyan);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--ease-slow);
}
.connect__email:hover,
.connect__email:focus-visible {
  color: var(--cyan);
}
.connect__email:hover::after,
.connect__email:focus-visible::after {
  transform: scaleX(1);
}
.connect__email:focus-visible {
  outline-offset: 6px;
}

.connect__links {
  display: flex;
  gap: 2rem;
  margin-top: clamp(2.5rem, 5vw, 3.5rem);
}
.connect__link {
  font-family: var(--font-mono);
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgb(from var(--cream) r g b / 0.7);
  text-decoration: none;
  position: relative;
  transition: color var(--ease-fast);
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.connect__link::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 1px;
  background: var(--cyan);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--ease-medium);
}
.connect__link:hover,
.connect__link:focus-visible {
  color: var(--cream);
}
.connect__link:hover::after,
.connect__link:focus-visible::after {
  transform: scaleX(1);
}
.connect__link:focus-visible {
  outline-offset: 4px;
}

@keyframes connect-crane-float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50%      { transform: translateY(-5px) rotate(3deg); }
}

@keyframes connect-drift {
  from { transform: scale(1.03) translateY(0); }
  to   { transform: scale(1.09) translateY(-1.5%); }
}

@media (max-width: 640px) {
  .connect {
    padding: 5rem 1.5rem;
    min-height: 78svh;
  }
  .connect__links {
    flex-wrap: wrap;
    gap: 1.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .connect__scene,
  .connect__seal {
    animation: none;
  }
}

.footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--ink-deep);
  color: var(--cream);
  border-top: 6px solid var(--violet-deep);
}

.footer__mountains {
  position: absolute;
  inset: 0 0 auto 0;
  height: 240px;
  background: url('/assets/asset-mountain-layer.webp') center top / cover no-repeat;
  opacity: 0.14;
  -webkit-mask-image: linear-gradient(180deg, var(--mask-visible) 0%, transparent 92%);
          mask-image: linear-gradient(180deg, var(--mask-visible) 0%, transparent 92%);
  pointer-events: none;
  z-index: 0;
}

.footer__inner {
  position: relative;
  z-index: 1;
  max-width: var(--width-grid);
  margin: 0 auto;
  padding: clamp(3.5rem, 8svh, 5.5rem) var(--content-padding) 2.5rem;
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: clamp(2rem, 5vw, 4rem);
}

.footer__logo {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.1rem;
  letter-spacing: 3px;
  color: var(--cream);
  margin-bottom: 0.75rem;
}

.footer__tagline {
  font-family: var(--font-body);
  font-size: 0.9rem;
  line-height: 1.6;
  color: rgb(from var(--cream) r g b / 0.55);
  margin: 0;
}

.footer__signature {
  display: inline-block;
  font-family: var(--font-signature);
  font-size: 2.4rem;
  color: rgb(from var(--cream) r g b / 0.85);
  transform: rotate(-3deg);
  margin-top: 1.5rem;
  user-select: none;
}

.footer__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

.footer__col {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.footer__col h4 {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--violet);
  margin: 0 0 0.6rem;
}

.footer__col a {
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: rgb(from var(--cream) r g b / 0.72);
  text-decoration: none;
  padding: 0.35rem 0;
  min-height: 32px;
  width: fit-content;
  transition: color var(--ease-fast);
}
.footer__col a:hover {
  color: var(--cyan);
}
.footer__col a:focus-visible {
  outline-offset: 3px;
}

.footer__bar {
  position: relative;
  z-index: 1;
  max-width: var(--width-grid);
  margin: 0 auto;
  padding: 1.25rem var(--content-padding);
  border-top: 1px solid rgb(from var(--cream) r g b / 0.08);
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  color: rgb(from var(--cream) r g b / 0.4);
}

@media (max-width: 900px) {
  .footer__inner {
    grid-template-columns: 1fr;
    padding: 3rem 1.5rem 2rem;
  }
  .footer__bar {
    flex-direction: column;
    gap: 0.35rem;
    padding: 1.25rem 1.5rem;
  }
  .footer__col a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}

.footer__lantern {
  display: block;
  height: clamp(6.5rem, 11vh, 9rem);
  width: auto;
  margin-top: 1.25rem;
  opacity: 0.9;
  pointer-events: none;
  user-select: none;
  filter: drop-shadow(0 0 20px rgb(from var(--cyan) r g b / 0.18));
}
