@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/af21ab248943f479-s.3gj6ciom31zjc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/4ae66b896b591e96-s.0_kz_z3o_slvt.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/21ca8f3f56c22ca2-s.p.1cp9-4nby68jc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}.archivo_aefddf3b-module__UOsvBW__className{font-family:Archivo,Archivo Fallback;font-style:normal}.archivo_aefddf3b-module__UOsvBW__variable{--font-archivo:"Archivo", "Archivo Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.3t6q91iet4nsy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_4234916a-module__rbK56a__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_4234916a-module__rbK56a__variable{--font-jbmono:"JetBrains Mono", "JetBrains Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-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}}}@layer theme{:root,:host{--font-sans:var(--font-archivo), ui-sans-serif, system-ui, sans-serif;--font-mono:var(--font-jbmono), ui-monospace, SFMono-Regular, Menlo, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#0d0f11;--color-surface:#14171a;--color-raised:#1b1f23;--color-line:#262b31;--color-line-strong:#3b434c;--color-line-ui:#5b6570;--color-ink:#ece9e2;--color-ink-2:#b3b9bf;--color-ink-3:#8c949c;--color-accent:#ff8b3d;--color-accent-hi:#ffa566;--color-accent-ink:#1a0d04;--color-live:#5ccb8a;--color-danger:#ff7a70;--color-warn:#e8b04b;--radius-1:2px;--radius-2:4px;--radius-3:8px;--ease-io:cubic-bezier(.65, 0, .35, 1);--color-accent-dim:#ff8b3d24;--color-accent-trail:#ff8b3d61;--color-accent-spot:#ff8b3d2e}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.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}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.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,)}}:root{--bg:var(--color-bg);--surface:var(--color-surface);--raised:var(--color-raised);--line:var(--color-line);--line-strong:var(--color-line-strong);--line-ui:var(--color-line-ui);--ink:var(--color-ink);--ink-2:var(--color-ink-2);--ink-3:var(--color-ink-3);--accent:var(--color-accent);--accent-hi:var(--color-accent-hi);--accent-ink:var(--color-accent-ink);--live:var(--color-live);--danger:var(--color-danger);--warn:var(--color-warn);--accent-dim:var(--color-accent-dim);--accent-trail:var(--color-accent-trail);--accent-spot:var(--color-accent-spot);--r-1:var(--radius-1);--r-2:var(--radius-2);--r-3:var(--radius-3);--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--s-9:6rem;--s-10:8rem;--gut:clamp(1rem, 4vw, 3rem);--trace:clamp(1rem, 3.4vw, 3rem);--rail-x:calc((var(--gut) + var(--trace)) / -2);--header-h:56px;--dur-1:.12s;--dur-2:.2s;--dur-3:.32s;--dur-trace:1.4s;--dur-4:.42s;--spring:linear(0, .065, .198, .355, .502, .64, .754, .844, .909, .956, .985, 1.003, 1.014, 1.018, 1.018, 1.017, 1.014, 1.011, 1.009, 1.006, 1.004, 1.003, 1.001, 1.001, 1);--spring-dur:.48s;--dot:#22282e;--grid:22px;--rail-idle:var(--line-ui);--rail-lit:#ff8b3d99;--t-display:clamp(3rem, 1.5rem + 8cqi, 9rem);--t-chapter:clamp(2.25rem, 1rem + 6cqi, 6rem);--t-h2-minor:clamp(1.5rem, 1rem + 2cqi, 2.25rem);--t-case:clamp(2rem, 1.2rem + 3.2cqi, 3.75rem);--shadow-pop:0 12px 32px -8px #0000008c, 0 2px 6px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{background:var(--bg) radial-gradient(circle at 1px 1px, var(--dot) 1.1px, transparent 1.6px) 0 0 / var(--grid) var(--grid);color:var(--ink);scrollbar-color:var(--line-strong) var(--bg);accent-color:var(--accent);caret-color:var(--accent);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);letter-spacing:.005em;font-variation-settings:"wdth" 100;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:1rem;font-weight:420;line-height:1.6}::selection{background:var(--accent);color:var(--accent-ink)}img,svg,video,canvas,iframe{max-width:100%;height:auto}svg{overflow:visible}blockquote,figure,dl,dd,fieldset{border:0;margin:0;padding:0}:where(p,li,dd,dt,h1,h2,h3,figcaption,td,th,label,summary){overflow-wrap:anywhere;min-width:0}@container shell (max-width:22rem){p,li,dd{-webkit-hyphens:auto;hyphens:auto}}.t-data,.t-data-sm{-webkit-hyphens:manual;hyphens:manual}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}section[id]{scroll-margin-top:4.5rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--s-4);z-index:100;padding:var(--s-2) var(--s-4);background:var(--accent);color:var(--accent-ink);border-radius:var(--r-2);font-weight:600;position:absolute;top:-100px}.skip-link:focus-visible{top:var(--s-2)}.t-display{font-size:var(--t-display);font-variation-settings:"wdth" 78;letter-spacing:-.03em;font-weight:700;line-height:.95;display:block}.t-role{margin-top:var(--s-3);font-variation-settings:"wdth" 85;letter-spacing:-.01em;color:var(--ink-2);text-wrap:balance;font-size:clamp(1.375rem,1rem + 2.2cqi,2.5rem);font-weight:600;line-height:1.1;display:block}.t-chapter{font-size:var(--t-chapter);font-variation-settings:"wdth" 78;letter-spacing:-.03em;text-wrap:balance;font-weight:700;line-height:.95}.t-h2{font-size:var(--t-h2-minor);font-variation-settings:"wdth" 85;letter-spacing:-.02em;text-wrap:balance;font-weight:650;line-height:1.05}.t-h3{letter-spacing:-.005em;text-wrap:balance;font-size:clamp(1.125rem,.95rem + .6cqi,1.375rem);font-weight:600;line-height:1.2}.t-lead{max-width:38rem;color:var(--ink-2);font-size:clamp(1.0625rem,.95rem + .5cqi,1.25rem);font-weight:400;line-height:1.55}.t-body{max-width:68ch}.t-small{font-size:.875rem;font-weight:450;line-height:1.5}.t-data{font-family:var(--font-mono);letter-spacing:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:.8125rem;font-weight:450;line-height:1.45}.t-data-sm{font-family:var(--font-mono);letter-spacing:0;overflow-wrap:anywhere;font-size:.75rem;font-weight:450;line-height:1.3}.ink-2{color:var(--ink-2)}.ink-3{color:var(--ink-3)}.shell{width:100%;max-width:calc(90rem + 2 * var(--gut) + var(--trace));padding-inline:calc(var(--gut) + var(--trace)) var(--gut);margin-inline:auto;container:shell/inline-size}.shell--wide{max-width:calc(105rem + 2 * var(--gut) + var(--trace))}.grid{--gap:clamp(1rem, .5rem + 1.5cqi, 2rem);gap:var(--gap);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.grid>*{grid-column:1/-1;min-width:0}@container shell (min-width:37.5rem){.grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@container shell (min-width:56.25rem){.grid{grid-template-columns:repeat(12,minmax(0,1fr))}}.section{padding-block:clamp(4rem,3rem + 5cqi,8rem)}.section-head{margin-bottom:var(--s-6)}.section-head .t-lead{margin-top:var(--s-4)}.section-head:has(.t-lead){margin-bottom:var(--s-7)}.subhead{margin-bottom:var(--s-5);font-variation-settings:"wdth" 85;letter-spacing:-.005em;font-size:1.125rem;font-weight:600}.link{color:var(--ink);-webkit-text-decoration:underline 1px var(--ink-3);-webkit-text-decoration:underline 1px var(--ink-3);-webkit-text-decoration:underline 1px var(--ink-3);text-decoration:underline 1px var(--ink-3);text-underline-offset:.22em;transition:color var(--dur-1), text-decoration-color var(--dur-1), text-decoration-thickness var(--dur-1)}.link:hover{color:var(--accent-hi);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-decoration-thickness:2px}.link__icon{vertical-align:-.1em;width:14px;height:14px;transition:translate var(--dur-1);margin-left:.2em;display:inline-block}.link:hover .link__icon,.btn:hover .link__icon,.row-link:hover .link__icon{translate:1px -1px}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:40px;padding:var(--s-2) var(--s-4);border-radius:var(--r-2);text-align:center;cursor:pointer;transition:background-color var(--dur-1), border-color var(--dur-1), color var(--dur-1), scale .16s var(--ease-out);border:1px solid #0000;font-size:.9375rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex;scale:1}.btn:active{scale:.97}.btn--lg{min-height:48px;padding-inline:var(--s-5);font-size:1rem}.btn--sm{min-height:32px;padding:var(--s-1) var(--s-3);font-size:.875rem}.btn--primary{background:var(--accent);color:var(--accent-ink)}.btn--primary:hover{background:var(--accent-hi)}.btn--primary:active{background:var(--accent)}.btn--secondary{border-color:var(--line-ui);color:var(--ink);background:0 0}.btn--secondary:hover{border-color:var(--ink-3);background:var(--surface)}.btn--secondary:active{background:var(--raised)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn svg{flex:none}.tag{border:1px solid var(--line-strong);border-radius:var(--r-1);font-variation-settings:"wdth" 90;letter-spacing:.01em;color:var(--ink-2);white-space:nowrap;align-items:center;padding:2px 8px;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.tag--demo{border-style:dashed;border-color:var(--ink-3)}.status{align-items:center;gap:var(--s-2);color:var(--ink-2);font-size:.875rem;font-weight:450;line-height:1.3;display:inline-flex}.status__dot{border-radius:50%;flex:none;width:8px;height:8px}.status--production .status__dot,.status--live .status__dot{background:var(--live)}.status--in-progress .status__dot{background:linear-gradient(90deg, var(--accent) 50%, transparent 50%);box-shadow:inset 0 0 0 1px var(--accent)}.status--on-demand .status__dot{box-shadow:inset 0 0 0 1px var(--ink-3)}.status--captures-only,.status--internal{color:var(--ink-3)}.meta{align-items:center;gap:var(--s-2) var(--s-3);color:var(--ink-3);flex-wrap:wrap;display:flex}.meta>*{min-width:0}.tech{color:var(--ink-3)}.site-header{z-index:50;background:var(--bg);transition:border-color var(--dur-2);border-bottom:1px solid #0000;position:sticky;top:0}.site-header[data-scrolled=true]{border-bottom-color:var(--line)}.site-header__bar{align-items:center;gap:var(--s-4);height:var(--header-h);display:flex}.brand{font-variation-settings:"wdth" 85;min-width:5.5em;color:var(--ink);white-space:nowrap;border-radius:var(--r-1);transition:color var(--dur-1);font-size:1rem;font-weight:600;text-decoration:none;position:relative}.brand:hover{color:var(--accent-hi)}.brand__led{left:calc(var(--rail-x) - 4px + var(--rail-dx,0px));border-radius:var(--r-1);background:var(--live);pointer-events:none;width:8px;height:8px;margin-top:-4px;position:absolute;top:50%}.availability{align-items:center;gap:var(--s-2);color:var(--ink-2);white-space:nowrap;margin-right:auto;font-size:.8125rem;font-weight:500;display:inline-flex}.availability:before{content:"";background:var(--live);border-radius:50%;flex:none;width:8px;height:8px}@container shell (max-width:22rem){.availability__short{display:none}}.read-progress{opacity:0;pointer-events:none;height:1px;position:absolute;bottom:-1px;left:0;right:0}.read-progress:before{content:"";background:var(--accent);transform:scaleX(var(--p,0));transform-origin:0;position:absolute;inset:0}.read-progress i{background:var(--color-accent-hi);border-radius:1px;width:5px;height:5px;position:absolute;top:-2px;left:0}.circuit-on .read-progress{opacity:1}.nav-desktop,.header-cv{display:none}.nav-desktop ul{gap:var(--s-5);display:flex;position:relative}.nav-desktop a{padding-block:var(--s-2);color:var(--ink-2);transition:color var(--dur-1);font-size:.875rem;font-weight:500;text-decoration:none;display:block}.nav-desktop a:hover,.nav-desktop a[aria-current=true]{color:var(--ink)}.nav-indicator{height:2px;width:var(--w,0);background:var(--accent);transform:translateX(var(--x,0));opacity:var(--o,0);transition:transform var(--spring-dur) var(--spring), width var(--spring-dur) var(--spring), opacity var(--dur-2);pointer-events:none;position:absolute;bottom:-9px;left:0}.menu-btn{border:1px solid var(--line-ui);border-radius:var(--r-2);width:44px;height:44px;color:var(--ink);cursor:pointer;transition:border-color var(--dur-1), background-color var(--dur-1);background:0 0;place-items:center;display:inline-grid}.menu-btn:hover{border-color:var(--ink-3);background:var(--surface)}@container shell (min-width:56.25rem){.nav-desktop{display:block}.header-cv{display:inline-flex}.menu-btn{display:none}}.mobile-panel{background:var(--surface);border-block:1px solid var(--line);box-shadow:var(--shadow-pop);visibility:hidden;opacity:0;transition:opacity var(--dur-3) var(--ease-out), transform var(--dur-3) var(--ease-out), visibility 0s linear var(--dur-3);position:absolute;top:100%;left:0;right:0;transform:translateY(-6px)}.mobile-panel[data-open=true]{visibility:visible;opacity:1;transition-delay:0s;transform:none}.mobile-panel ul{padding-block:var(--s-2)}.mobile-panel a{min-height:48px;color:var(--ink);border-bottom:1px solid var(--line);transition:color var(--dur-1);align-items:center;font-weight:500;text-decoration:none;display:flex}.mobile-panel li:last-child a{border-bottom:0}.mobile-panel a:hover{color:var(--accent-hi)}.locale{border:1px solid var(--line-ui);border-radius:var(--r-2);padding:2px;display:inline-flex}.locale button{text-align:left;border-radius:var(--r-1);width:2.25rem;height:26px;font-family:var(--font-mono);color:var(--ink-3);cursor:pointer;transition:color var(--dur-1), background-color var(--dur-1);background:0 0;padding-inline:.675rem 0;font-size:.75rem;font-weight:500}.locale button:hover{color:var(--ink)}.locale button[aria-pressed=true]{color:var(--ink);background:var(--raised);cursor:default}.hero{isolation:isolate;min-height:calc(100dvh - var(--header-h));align-content:center;display:grid;position:relative}@media (max-height:760px){.hero{min-height:0}}.hero__grid{padding-block:var(--s-7) var(--s-8);row-gap:var(--s-7);align-items:center}.hero__lead{margin-top:var(--s-5)}.hero__actions{gap:var(--s-3);margin-top:var(--s-6);flex-direction:column;display:flex}.hero__alt{margin-top:var(--s-4)}.hero__alt a{color:var(--ink-3)}.hero__index ul{gap:var(--s-3);display:grid;position:relative}.chapter{gap:var(--s-4);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg);color:var(--ink);transition:border-color var(--dur-1);grid-template-columns:minmax(0,7rem) minmax(0,1fr) auto;align-items:center;text-decoration:none;display:grid;position:relative}.chapter:hover{border-color:var(--line-strong)}.chapter__thumb{aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--r-2);background:var(--raised);position:relative;overflow:clip}.chapter__thumb img{object-fit:cover}.chapter__video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity var(--dur-2) var(--ease-out);pointer-events:none;position:absolute;inset:0}.chapter__video[data-visible=true]{opacity:1}.chapter__text{gap:2px;min-width:0;display:grid}.chapter__title{font-variation-settings:"wdth" 85;font-size:1.0625rem;font-weight:600;line-height:1.25}.chapter__sub{color:var(--ink-3)}.chapter__arrow{color:var(--ink-3);transition:translate .16s var(--ease-out), color var(--dur-1)}.chapter:hover .chapter__arrow{color:var(--accent);translate:2px 2px}.chapter__stub{display:none}@container shell (min-width:37.5rem){.hero__actions{flex-flow:wrap}}@container shell (min-width:56.25rem){.hero__grid{padding-block:var(--s-8) var(--s-9)}.hero__main{grid-column:span 7}.hero__index{grid-column:span 5}.chapter{gap:var(--s-5);grid-template-columns:minmax(0,10rem) minmax(0,1fr) auto}.hero__index ul:before{content:"";left:calc(var(--s-5) * -1);background:var(--line-strong);width:1px;position:absolute;top:2.5rem;bottom:2.5rem}.chapter__stub{left:calc(var(--s-5) * -1);width:var(--s-5);background:var(--line-strong);pointer-events:none;height:1px;display:block;position:absolute;top:50%}.chapter__stub:before{content:"";background:var(--bg);border:1px solid var(--line-strong);width:7px;height:7px;transition:background-color var(--dur-2), border-color var(--dur-2);border-radius:50%;position:absolute;top:-3px;left:-3px}.chapter__stub:after{content:"";background:var(--accent);opacity:0;border-radius:1px;width:5px;height:5px;position:absolute;top:-2px;left:0}.chapter:is(:hover,:focus-visible) .chapter__stub:before{background:var(--accent);border-color:var(--accent)}.motion-lite .chapter:is(:hover,:focus-visible) .chapter__stub:after{animation:stub-pulse .32s var(--ease-io) both}}@keyframes stub-pulse{0%{opacity:1;transform:translate(0)}to{opacity:1;transform:translateX(calc(var(--s-5) - 5px))}}.frame{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);transition:border-color var(--dur-1);position:relative;overflow:hidden;container:frame/inline-size}.demo-card:hover .frame,.client-card:hover .frame,.frame:hover{border-color:var(--line-strong)}.frame__bar{justify-content:space-between;align-items:center;gap:var(--s-1) var(--s-3);min-height:28px;padding:var(--s-1) var(--s-3);background:var(--raised);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.frame__addr{min-width:0;color:var(--ink-2)}.frame__bar .status{font-size:.75rem}.frame__media{aspect-ratio:16/9;background:var(--raised);position:relative;overflow:clip}.frame__slide{opacity:0;transition:opacity var(--dur-2) var(--ease-out);position:absolute;inset:0}.frame__slide[data-active=true]{opacity:1}.frame__img{object-fit:cover}.frame__img--contain{object-fit:contain}.frame__video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity var(--dur-2) var(--ease-out);pointer-events:none;position:absolute;inset:0}.frame__video[data-visible=true]{opacity:1}.frame__placeholder{padding:var(--s-4);text-align:center;color:var(--ink-3);background-color:var(--raised);background-image:radial-gradient(var(--line-strong) 1px, transparent 1.5px);background-position:50%;background-size:24px 24px;place-items:center;display:grid;position:absolute;inset:0}.frame__inset{border:1px solid var(--line-strong);border-radius:var(--r-2);background:var(--surface);width:22%;position:absolute;bottom:6%;right:4%;overflow:hidden}.frame__inset img{width:100%;height:auto;display:block}@container frame (max-width:18rem){.frame__inset{display:none}}.play-btn{right:var(--s-3);bottom:var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-2);width:44px;height:44px;color:var(--ink);background:var(--raised);place-items:center;display:grid;position:absolute}@supports (color:color-mix(in lab, red, red)){.play-btn{background:color-mix(in srgb, var(--raised) 88%, transparent)}}.play-btn{cursor:pointer;transition:border-color var(--dur-1), background-color var(--dur-1)}.play-btn:hover{border-color:var(--ink-3);background:var(--raised)}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.play-btn:not(:focus-visible,.play-btn--always){clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;overflow:hidden}}.thumbs{grid-template-columns:repeat(var(--n,4), minmax(0, 1fr));gap:var(--s-2);margin-top:var(--s-3);display:grid}.thumb{aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--r-2);background:var(--raised);cursor:pointer;transition:border-color var(--dur-1);padding:0;position:relative;overflow:hidden}.thumb:hover{border-color:var(--ink-3)}.thumb[aria-selected=true]{border-color:var(--line-strong)}[data-indicator]{position:relative}[data-indicator]:after{content:"";background:var(--accent);width:1px;height:2px;transform:translateX(var(--ix,0)) scaleX(var(--iw,0));transform-origin:0;transition:transform var(--spring-dur) var(--spring);pointer-events:none;position:absolute;bottom:0;left:0}.segment[data-indicator]:after{bottom:2px}[data-indicator][data-kbd]:after{transition:none}.thumb img{object-fit:cover}.segment{border:1px solid var(--line-ui);border-radius:var(--r-2);flex-wrap:wrap;gap:2px;padding:2px;display:inline-flex}.segment button{min-height:32px;padding:var(--s-1) var(--s-3);border-radius:var(--r-1);color:var(--ink-2);cursor:pointer;transition:color var(--dur-1), background-color var(--dur-1);background:0 0;font-size:.875rem;font-weight:500;position:relative;overflow:hidden}.segment button:hover{color:var(--ink)}.segment button[aria-selected=true]{color:var(--ink);background:var(--raised)}.card__summary{color:var(--ink-2)}.card__list{gap:var(--s-1);color:var(--ink-2);display:grid}.card__list li{padding-left:var(--s-4);position:relative}.card__list li:before{content:"";background:var(--line-strong);width:8px;height:1px;position:absolute;top:.75em;left:0}.card__actions{align-items:center;gap:var(--s-2) var(--s-5);padding-top:var(--s-2);flex-wrap:wrap;margin-top:auto;display:flex}.facts{border-top:1px solid var(--line);display:grid}.facts__row{gap:var(--s-1);padding-block:var(--s-3);border-bottom:1px solid var(--line);display:grid}.facts dt{color:var(--ink-3);font-size:.875rem}.facts-wrap{container:facts/inline-size}@container facts (min-width:26rem){.facts__row{column-gap:var(--s-4);grid-template-columns:7.5rem minmax(0,1fr)}}.client-card+.client-card{margin-top:var(--s-8)}.client-card{gap:var(--s-5);min-width:0;padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface);grid-template-columns:minmax(0,1fr);display:grid;position:relative}.client-card__media,.client-card__text{min-width:0}.client-card__text{gap:var(--s-4);flex-direction:column;display:flex}.client-card__name{font-variation-settings:"wdth" 80;letter-spacing:-.02em;text-wrap:balance;font-size:clamp(1.75rem,1.25rem + 1.6cqi,2.75rem);font-weight:700;line-height:1}.client-card__name+.t-data{margin-top:var(--s-2)}.client-card .frame__inset{aspect-ratio:480/1039;border-radius:var(--r-3);width:auto;height:86%}.client-card .frame__inset img{object-fit:cover;object-position:top;width:100%;height:100%}@container shell (min-width:56.25rem){.client-card{column-gap:var(--s-6);padding:var(--s-6);background:var(--surface);border:1px solid var(--line);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center}.client-card__media{grid-column:span 7}.client-card__text{grid-column:span 5}.client-card:nth-child(2n) .client-card__media{grid-area:1/6/auto/span 7}.client-card:nth-child(2n) .client-card__text{grid-area:1/1/auto/span 5}}.review{gap:var(--s-3);padding-left:var(--s-4);border-left:1px solid var(--line-strong);display:grid}.review blockquote{gap:var(--s-3);display:grid}.review__pull{font-size:var(--t-h2-minor);font-variation-settings:"wdth" 85;letter-spacing:-.015em;color:var(--ink);text-wrap:balance;font-weight:650;line-height:1.15}.review__full{color:var(--ink-2)}.review figcaption{color:var(--ink-3);gap:2px;display:grid}.devops-stage{gap:var(--s-6);min-width:0;display:grid}.stage-title{max-width:62rem}.stage-lead{margin-top:var(--s-4)}.stage-body{gap:var(--s-6);min-width:0;display:grid}.stage-diagram{gap:var(--s-5);flex-direction:column;min-width:0;display:flex}.stage-svg{min-width:0}.dg-wrap{position:relative}.dg-wrap--land{display:none}.infra__svg{width:100%;height:auto;margin-inline:auto;display:block}.dg-wrap--land .infra__svg{max-width:1320px}.dg-wrap--port .infra__svg{max-width:420px}.stage-steps{gap:var(--s-3);display:grid}.stage-steps li{align-content:start;gap:var(--s-1);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface);transition:opacity var(--dur-2);display:grid}.step__title{font-size:1.0625rem;font-weight:600;line-height:1.3}.step__text{color:var(--ink-2)}.step__data{margin-top:var(--s-1);color:var(--ink-3)}@container shell (min-width:37.5rem){.stage-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@container shell (min-width:70rem){.stage-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}.infra__panel{min-width:0;scroll-margin-block:calc(var(--header-h) + var(--s-3)) var(--s-3);padding:var(--s-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);align-self:start}.infra__panel-inner{gap:var(--s-4);animation:fade-in var(--dur-1) var(--ease-out);display:grid}.infra__panel h3{align-items:baseline;gap:var(--s-2) var(--s-3);flex-wrap:wrap;display:flex}.infra__facts{margin-top:var(--s-2);gap:var(--s-2);flex-wrap:wrap;display:flex}.infra__facts li{border:1px solid var(--line-strong);border-radius:var(--r-1);color:var(--ink-2);padding:2px 8px}.infra__hint{color:var(--ink-3)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.stage-foot{justify-content:space-between;align-items:flex-end;gap:var(--s-4) var(--s-6);flex-wrap:wrap;min-width:0;display:flex}.stage-ci{gap:var(--s-2);min-width:0;display:grid}.chips{align-content:flex-start;align-items:center;row-gap:var(--s-2);flex-wrap:wrap;min-width:0;display:flex}.chip{align-items:center;gap:var(--s-1);min-height:32px;margin-right:var(--s-4);padding:0 var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-2);background:var(--bg);color:var(--ink-2);transition:border-color var(--dur-2);display:inline-flex;position:relative}.chip:last-child{margin-right:0}.chip:not(:last-child):after{content:"";width:var(--s-4);background:var(--line-strong);height:1px;position:absolute;top:50%;left:100%}.chip__check{color:var(--ink-2);flex:none}.chips--ci .chip{min-height:40px}.legend{gap:var(--s-2) var(--s-5);color:var(--ink-3);flex-wrap:wrap;display:flex}.legend li{align-items:center;gap:var(--s-2);display:inline-flex}.legend svg{flex:none}@container shell (max-width:43.74rem){.stage-body .stage-diagram{display:contents}.stage-body .stage-svg{order:1}.stage-body .infra__panel{order:2}.stage-body .stage-steps{order:3}}@container shell (min-width:43.75rem) and (max-width:69.99rem){.stage-body{column-gap:var(--s-6);grid-template-columns:minmax(0,26.25rem) minmax(0,1fr)}.stage-steps{grid-template-columns:minmax(0,1fr)}.infra__panel{top:calc(var(--header-h) + var(--s-4));position:sticky}}@container shell (min-width:70rem){.stage-body .stage-diagram{display:contents}.stage-body .stage-svg{order:1}.stage-body .infra__panel{order:2}.stage-body .stage-steps{order:3}.dg-wrap--land{display:block}.dg-wrap--port{display:none}.infra__panel-inner{column-gap:var(--s-6);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr);align-items:start}}.dg text{font-family:var(--font-sans);font-variation-settings:"wdth" 85}.dg .t-label{fill:var(--ink);font-weight:600}.dg .t-strip-label,.dg .t-sub--scene{display:none}.dg .t-sub{font-family:var(--font-mono);font-variation-settings:normal;fill:var(--ink-3);font-weight:450}.dg .t-frame{fill:var(--ink);font-weight:600}.dg .t-frame-sub{font-family:var(--font-mono);font-variation-settings:normal;fill:var(--ink-3)}.dg .t-caption{fill:var(--ink-3);font-weight:450}.dg .frame-vps{fill:var(--surface);stroke:var(--line-strong)}.dg .frame-docker{fill:none;stroke:var(--line)}.dg .frame-vps,.dg .frame-docker,.dg .node__box,.dg .node__ring{vector-effect:non-scaling-stroke;stroke-width:1px}.dg .node{cursor:pointer;transition:opacity var(--dur-2);outline:none}.dg .node__box{fill:var(--raised);stroke:var(--line-strong);transition:stroke var(--dur-2)}.dg .node--external .node__box,.dg .node--cloud .node__box,.dg .node--external .node__box{fill:var(--bg)}.dg .node--on-demand .node__box{stroke-dasharray:4 3}.dg .node--strip .node__box{fill:var(--bg)}.dg .node__ring{fill:none;stroke:#0000;stroke-width:2px}.dg .node:focus-visible .node__ring,.dg .node:hover .node__box,.dg .node.is-hot .node__box,.dg .node[aria-pressed=true] .node__box{stroke:var(--accent)}.dg .edge{fill:none;stroke:var(--ink-3);stroke-width:1.5px;transition:stroke var(--dur-2), opacity var(--dur-2)}.dg .edge--control{stroke-dasharray:5 4}.dg .edge--scheduled{stroke-dasharray:1 4;stroke-linecap:round}.dg .edge.is-hot{stroke:var(--accent);stroke-width:2px}.dg .arrow{fill:var(--ink-3)}.dg .arrow--hot{fill:var(--accent)}.dg[data-hot] .node:not(.is-hot),.dg[data-hot] .edge:not(.is-hot),.dg[data-hot] .edge-label:not(.is-hot),.dg[data-hot] .trace{opacity:.32}.dg .edge-label{fill:var(--ink-3);transition:opacity var(--dur-2)}.dg .node__halo{fill:var(--accent-dim);stroke:none;opacity:0;transition:opacity var(--dur-2)}.dg .node:focus-visible .node__halo{opacity:1}.dg .trace{fill:none;stroke-width:2px;stroke-dasharray:1 1;stroke-dashoffset:0;transition:stroke-dashoffset var(--dur-trace) var(--ease-io), stroke .6s var(--ease-out), opacity var(--dur-2);pointer-events:none}.dg .trace--1{stroke:var(--accent)}.dg .trace--2{stroke:var(--ink-3);transition-delay:.3s,0s,0s}.infra-list{margin-top:var(--s-6)}.infra-list .disclosure__inner{gap:var(--s-4);margin-top:var(--s-4);padding:var(--s-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);display:grid}.infra-list h3,.incident__steps h4{font-weight:600}.infra-list li p{color:var(--ink-2)}.live{margin-top:var(--s-8)}html:not(.js) .live{display:none}.live__head{gap:var(--s-2);max-width:68ch;margin-bottom:var(--s-5);display:grid}.live__title{align-items:center;gap:var(--s-2);margin-bottom:0;display:flex}.live__beacon,.live__led{background:var(--line-ui);width:8px;height:8px;transition:background-color var(--dur-2) var(--ease-out);border-radius:50%;flex:none}.live[data-live=ready] .live__beacon{background:var(--live)}.live__meta{color:var(--ink-3);gap:2px;display:grid}.live__summary{color:var(--ink-2)}.live__list{border-top:1px solid var(--line);display:grid}.live__site{align-items:baseline;gap:2px var(--s-3);min-width:0;padding-block:var(--s-3);border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) minmax(5.5rem,auto);grid-template-areas:"led name state""led host ms";display:grid}.live__led{grid-area:led;align-self:center}.live__name{overflow-wrap:anywhere;grid-area:name;min-width:0;font-weight:600}.live__host{min-width:0;color:var(--ink-3);overflow-wrap:anywhere;grid-area:host}.live__state{color:var(--ink-3);grid-area:state;justify-items:end;display:grid}.live__label{align-items:center;gap:var(--s-1);white-space:nowrap;visibility:hidden;grid-area:1/1;display:inline-flex}.live__label[data-on]{visibility:visible}.live__label svg{flex:none}.live__ms{color:var(--ink-2);font-variant-numeric:tabular-nums;text-align:right;grid-area:ms;justify-self:end}.live__site[data-state=ok] .live__led{background:var(--live)}.live__site[data-state=ok] .live__state{color:var(--live)}.live__site[data-state=degraded] .live__led{background:var(--warn)}.live__site[data-state=degraded] .live__state{color:var(--warn)}.live__site[data-state=down] .live__led{background:var(--danger)}.live__site[data-state=down] .live__state{color:var(--danger)}.motion-lite .live__site[data-state=pending] .live__led{animation:live-wait .9s var(--ease-io) infinite alternate}[data-paused] .live__led{animation-play-state:paused}@keyframes live-wait{to{background-color:var(--ink-3)}}@container shell (min-width:56.25rem){.live__list{column-gap:var(--s-7);border-top:0;grid-template-columns:repeat(2,minmax(0,1fr))}.live__site:nth-child(-n+2){box-shadow:inset 0 1px var(--line)}}.incident{margin-top:var(--s-9);row-gap:var(--s-5)}.incident__head p{margin-top:var(--s-3)}.incident__steps{gap:var(--s-5);padding-left:var(--s-6);display:grid;position:relative}.incident__steps:before,.incident__steps:after{content:"";background:var(--line-strong);width:1px;position:absolute;top:.6em;bottom:.6em;left:3.5px}.incident__steps:after{background:var(--accent);transform-origin:top;transform:scaleY(var(--fill,1))}.incident__steps li{position:relative}.incident__steps li:before{content:"";left:calc(-1 * var(--s-6));z-index:1;border-radius:var(--r-1);background:var(--accent);border:1px solid var(--accent);width:8px;height:8px;transition:background-color var(--dur-2);position:absolute;top:.45em}.incident__steps li.is-pending:before{background:var(--bg)}.incident__steps p{color:var(--ink-2)}@container shell (min-width:37.5rem){.incident__head{grid-column:span 2}.incident__steps{grid-column:span 4}}@container shell (min-width:56.25rem){.incident__head{grid-column:span 4;align-self:start}.incident__steps{grid-column:span 8}}.bento-wrap{margin-top:var(--s-9)}.bento{gap:var(--s-4);grid-template-columns:minmax(0,1fr);display:grid}.bento__cell{gap:var(--s-4);min-width:0;padding:var(--s-5);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-3);flex-direction:column;display:flex}.bento__cell--b{background:var(--surface)}.bento__facts{gap:var(--s-2);flex-wrap:wrap;display:flex}.bento__facts li{border:1px solid var(--line-strong);border-radius:var(--r-1);color:var(--ink);padding:2px 8px}.bento__list{gap:var(--s-2);color:var(--ink-2);display:grid}.bento__list .t-data{margin-left:var(--s-2);color:var(--ink);background:var(--raised);border-radius:var(--r-1);padding:0 6px;display:inline-block}.bento__metric{gap:var(--s-1);display:grid}.bento__num{font-size:var(--t-h2-minor);color:var(--ink);line-height:1}.bento__media{gap:var(--s-2);min-width:0;display:grid}.bento__text{gap:var(--s-4);min-width:0;display:grid}@container shell (min-width:56.25rem){.bento{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense}.bento__cell--a{grid-area:1/1/span 2/span 7}.bento__cell--b{grid-area:1/8/auto/span 5}.bento__cell--c{grid-area:2/8/auto/span 5}.bento__cell--d{column-gap:var(--s-6);grid-area:3/1/auto/-1;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;display:grid}.bento__media{grid-column:span 7}.bento__text{grid-column:span 5}}.caps-more{margin-top:var(--s-5)}.lanes{margin-top:var(--s-9)}.lanes__list{border-top:1px solid var(--line)}.lane{gap:var(--s-3);padding-block:var(--s-4);border-bottom:1px solid var(--line);align-items:center;display:grid}.lane__name{font-weight:600}.lane__target{color:var(--ink-3)}@container shell (min-width:56.25rem){.lane{column-gap:var(--s-6);grid-template-columns:minmax(0,10rem) minmax(0,1fr) minmax(0,16rem)}}.caps{margin-top:var(--s-2)}.caps__row{row-gap:var(--s-3);padding-block:var(--s-5);border-top:1px solid var(--line)}.caps__row:last-child{border-bottom:1px solid var(--line)}.caps__items{gap:var(--s-2);display:grid}.caps__items li{color:var(--ink-2)}.caps__items .t-data{margin-left:var(--s-2);color:var(--ink);background:var(--raised);border-radius:var(--r-1);padding:0 6px;display:inline-block}.caps__media{gap:var(--s-4);margin-top:var(--s-4);display:grid}.capture{aspect-ratio:4/3;border:1px solid var(--line-strong);border-radius:var(--r-3);background:var(--surface);position:relative;overflow:hidden}.capture-fig--strip{grid-column:1/-1}.capture-strip{border-radius:var(--r-3);width:100%;height:auto;display:block}.capture-strip--wide{display:none}@container shell (min-width:56.25rem){.capture-strip--wide{display:block}.capture-strip--narrow{display:none}}.capture-fig figcaption{margin-top:var(--s-2)}.capture--wide{aspect-ratio:16/9}.capture img{object-fit:cover}.capture--contain img{object-fit:contain}.capture--top img{object-position:top}@container shell (min-width:37.5rem){.caps__title{grid-column:span 2}.caps__body{grid-column:span 4}.caps__media{grid-template-columns:repeat(2,minmax(0,1fr))}.caps__media--one{grid-template-columns:minmax(0,1fr);max-width:40rem}}@container shell (min-width:56.25rem){.caps__title{grid-column:span 3}.caps__body{grid-column:span 9}}.pipeline{margin-top:var(--s-7)}.table-scroll{border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg);overflow-x:auto}.table-scroll:focus-visible{outline-offset:2px}.pipeline table{border-collapse:collapse;text-align:left;width:100%}.pipeline caption{padding:var(--s-3) var(--s-4);text-align:left;color:var(--ink-3);border-bottom:1px solid var(--line)}.pipeline th,.pipeline td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);vertical-align:baseline}.pipeline tbody tr:last-child>*{border-bottom:0}.pipeline thead th{color:var(--ink-3);background:var(--surface);font-size:.875rem;font-weight:500}.pipeline tbody th{white-space:nowrap;font-weight:600}.steps{gap:var(--s-1) var(--s-2);flex-wrap:wrap;display:flex}.steps li:not(:last-child):after{content:"·";margin-left:var(--s-2);color:var(--ink-3)}.feature+.feature{margin-top:var(--s-10)}.feature__head{gap:var(--s-3);max-width:62rem;margin-bottom:var(--s-7);display:grid}.feature__name{font-variation-settings:"wdth" 78;letter-spacing:-.025em;text-wrap:balance;font-size:clamp(2rem,1rem + 4cqi,4.5rem);font-weight:700;line-height:1}.feature__line{max-width:44rem}.feature__body{gap:var(--s-6);flex-direction:column;min-width:0;display:flex}.feature__track{min-width:0;padding-left:var(--s-6);position:relative}.feature__rail{background:var(--line-strong);width:1px;position:absolute;top:.5rem;bottom:.5rem;left:4px}.feature__rail:after{content:"";border-radius:var(--r-1);background:var(--accent);width:9px;height:9px;transform:translateY(calc(var(--pk-y,1rem) - .5rem));transition:transform var(--spring-dur) var(--spring);position:absolute;top:-4px;left:-4px}.feature__steps{gap:var(--s-6);min-width:0;display:grid}.feature__steps>li{cursor:pointer;min-width:0;position:relative}.feature__steps>li:before{content:"";left:calc(var(--s-6) * -1);top:calc(var(--t-h2-minor) * .55 - 4px);background:var(--bg);border:1px solid var(--line-strong);width:7px;height:7px;transition:border-color var(--dur-2), background-color var(--dur-2);border-radius:50%;position:absolute}.feature__steps>li[data-current]:before{border-color:var(--accent)}.feature-step{gap:var(--s-3);max-width:34rem;display:grid}.feature-step__title{font-size:var(--t-h2-minor);font-variation-settings:"wdth" 85;letter-spacing:-.015em;font-weight:650;line-height:1.1}.feature-step__link{margin-top:var(--s-1)}.feature__stage{gap:var(--s-3);order:-1;min-width:0;display:grid}.feature__frame{width:100%}.feature__media{aspect-ratio:16/10;background:var(--raised);position:relative}.layer{z-index:0;opacity:0;clip-path:inset(0 0 0 100%);transition:opacity var(--dur-2) ease var(--dur-4), clip-path 0s linear .9s;position:absolute;inset:0}.layer[data-state=before]{clip-path:inset(0 100% 0 0)}.layer[data-state=on]{z-index:1;opacity:1;clip-path:inset(0);transition:clip-path var(--dur-4) var(--ease-out), opacity 0s}.layer__img{object-fit:cover}.layer__video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity var(--dur-2) var(--ease-out);pointer-events:none;position:absolute;inset:0}.layer__video[data-visible=true]{opacity:1}.layer__phone{border:1px solid var(--line-strong);border-radius:var(--r-3);background:var(--surface);width:24%;position:absolute;bottom:6%;right:4%;overflow:hidden}.layer__phone img{width:100%;height:auto;display:block}.layer__grid{background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;display:grid;position:absolute;inset:0}.layer__tile{position:relative;overflow:hidden}.layer__tile img{object-fit:cover}.play-btn--always{z-index:2}.feature__progress{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;height:2px;display:grid}.feature__progress span{background:var(--line);position:relative;overflow:hidden}.feature__progress i{background:var(--accent);transform-origin:0;transition:transform var(--dur-3) var(--ease-out);position:absolute;inset:0;transform:scaleX(0)}.feature__progress [data-filled] i{transform:scaleX(1)}.feature__tabs{justify-self:start;display:none}.js .feature__tabs{display:inline-flex}.js .feature__steps>li:not([data-current]) :is(.feature-step__title,p,li,.link){color:var(--ink-3)}.feature__steps :is(.feature-step__title,p,li,.link){transition:color var(--dur-2) ease}@container shell (min-width:56.25rem){.feature__body{column-gap:var(--gap,2rem);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.feature__track{grid-area:1/1/auto/span 5}.feature__stage{grid-area:1/6/auto/span 7}}.more .section-head{margin-bottom:var(--s-6)}.projects-note{align-items:baseline;gap:var(--s-2);max-width:44rem;margin-top:var(--s-4);color:var(--ink-3);display:flex}.projects-note:before{content:"";width:8px;height:8px;box-shadow:inset 0 0 0 1px var(--ink-3);border-radius:50%;flex:none;translate:0 -1px}.demo-row{gap:var(--s-6);grid-template-columns:minmax(0,1fr);display:grid}.demo-row>li{min-width:0}.demo-card{align-content:start;gap:var(--s-3);border-radius:var(--r-3);height:100%;display:grid;position:relative}.demo-card__media,.demo-card__body{min-width:0}.demo-card__body{gap:var(--s-2);flex-direction:column;display:flex}.demo-card__name{font-size:1.125rem;font-weight:600;line-height:1.2}.demo-card__line{color:var(--ink-2)}.demo-card__foot{align-items:center;gap:var(--s-2) var(--s-3);padding-top:var(--s-1);flex-wrap:wrap;margin-top:auto;display:flex}.on-demand{align-items:baseline;gap:var(--s-1) var(--s-3);color:var(--ink-3);flex-wrap:wrap;display:inline-flex}@container shell (max-width:43.99rem){.demo-card{column-gap:var(--s-4);grid-template-columns:minmax(0,2fr) minmax(0,3fr)}}@container shell (min-width:44rem){.demo-row{gap:var(--s-6) var(--s-4);grid-template-columns:repeat(6,minmax(0,1fr))}.demo-row>li{grid-column:span 2}.demo-row>li:nth-child(3n+1):nth-last-child(2){grid-column:2/span 2}.demo-row>li:nth-child(3n+1):last-child{grid-column:3/span 2}}@container shell (min-width:67rem){.demo-row{grid-template-columns:repeat(5,minmax(0,1fr))}.demo-row>li,.demo-row>li:nth-child(3n+1):nth-last-child(2),.demo-row>li:nth-child(3n+1):last-child{grid-column:auto}}.others{margin-top:var(--s-9)}.others__title{margin-bottom:var(--s-5)}.marquee{display:none}.motion-lite .marquee{gap:var(--s-3);display:grid;overflow:clip;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.motion-lite .others__grid{display:none}.marquee__row{width:max-content;display:flex}.marquee__track{gap:var(--s-3);padding-right:var(--s-3);display:flex}.marquee__item{aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--r-2);background:var(--raised);flex:none;width:15rem;position:relative;overflow:hidden}.marquee__item img,.others__tile img{object-fit:cover}.others__grid{gap:var(--s-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.others__tile{aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--r-2);background:var(--raised);position:relative;overflow:hidden}.others__tile--more{aspect-ratio:auto;min-height:3rem;color:var(--ink-2);grid-column:1/-1;place-items:center;display:grid}@container shell (min-width:56.25rem){.others__grid{grid-template-columns:repeat(7,minmax(0,1fr))}.others__tile--more{aspect-ratio:16/9;grid-column:auto}}.index{margin-top:var(--s-5)}.index .disclosure__inner{padding-top:var(--s-5)}.index__group+.index__group{margin-top:var(--s-7)}.index__title{margin-bottom:var(--s-2)}.index__rows{border-top:1px solid var(--line)}.row{gap:var(--s-2) var(--s-4);padding:var(--s-3) var(--s-2);border-bottom:1px solid var(--line);color:inherit;transition:background-color var(--dur-1);grid-template-columns:6rem minmax(0,1fr);align-items:start;text-decoration:none;display:grid}.row-link:hover{background:var(--raised)}.row__thumb{aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--r-2);background:var(--raised);position:relative;overflow:hidden}.row__thumb img{object-fit:cover}.row__thumb--contain img{object-fit:contain}.row__band{padding:var(--s-1);text-align:center;color:var(--ink-3);place-items:center;display:grid;position:absolute;inset:0}.row__main,.row__stack,.row__status{min-width:0}.row__name{align-items:center;gap:var(--s-1) var(--s-3);flex-wrap:wrap;font-weight:600;display:flex}.row__desc{color:var(--ink-2)}.row__rest{gap:var(--s-2);min-width:0;display:grid}.row__status{align-items:center;gap:var(--s-1) var(--s-3);flex-wrap:wrap;display:flex}.row-link .row__cta{color:var(--ink);-webkit-text-decoration:underline 1px var(--ink-3);-webkit-text-decoration:underline 1px var(--ink-3);-webkit-text-decoration:underline 1px var(--ink-3);text-decoration:underline 1px var(--ink-3);text-underline-offset:.22em;transition:color var(--dur-1), text-decoration-color var(--dur-1)}.row-link:hover .row__cta{color:var(--accent-hi);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@container shell (min-width:56.25rem){.row{min-height:88px;padding-block:var(--s-2);grid-template-columns:128px minmax(0,1fr) minmax(0,14rem) 9rem;align-items:center}.row__rest{display:contents}.row__status{flex-direction:column;align-items:flex-start}}.trajectory__grid{row-gap:var(--s-8)}.trajectory__xp,.trajectory__stack{container:col/inline-size}.xp{border-top:1px solid var(--line)}.xp__row{gap:var(--s-2);padding-block:var(--s-5);border-bottom:1px solid var(--line);display:grid;position:relative}.xp__period{color:var(--ink-3)}.xp__company{margin-top:var(--s-1);color:var(--ink-2);font-weight:500;display:block}.xp__desc p{color:var(--ink-2)}.xp__desc .tech{margin-top:var(--s-2)}.xp__row[data-parallel]{padding-left:var(--s-4)}.xp__row[data-parallel]:before{content:"";background:var(--accent);width:2px;position:absolute;top:0;bottom:-1px;left:0}.xp__row[data-parallel=last]:before{bottom:0}.xp__parallel{margin-top:var(--s-1);color:var(--ink-3);font-size:.875rem;display:block}.xp__row--edu{padding-block:var(--s-4)}@container col (min-width:34rem){.xp__row{column-gap:var(--s-5);grid-template-columns:9rem minmax(0,1fr)}.xp__period{grid-row:1/span 2}.xp__role,.xp__desc{grid-column:2}}.skills{border-bottom:1px solid var(--line)}.skills__row{gap:var(--s-2);padding-block:var(--s-4);border-top:1px solid var(--line);display:grid}.skills__row h3{font-variation-settings:"wdth" 85;font-size:1rem;font-weight:600}.skills__tools{gap:var(--s-1) var(--s-4);color:var(--ink-2);flex-wrap:wrap;display:flex}.skills__tools .is-used{color:var(--ink);font-weight:500}.skills__legend{margin-top:var(--s-4);color:var(--ink-3)}@container shell (min-width:56.25rem){.trajectory__xp{grid-column:span 7}.trajectory__stack{grid-column:span 5}}.contact{row-gap:var(--s-7)}.contact__lead{margin-top:var(--s-4)}.channels{gap:var(--s-3);margin-top:var(--s-6);display:grid}.channels li{align-items:center;gap:var(--s-2) var(--s-3);flex-wrap:wrap;display:flex}.channels svg{color:var(--ink-3);flex:none}.copy-btn{align-items:center;gap:var(--s-1);min-height:32px;padding:var(--s-1) var(--s-2);border:1px solid var(--line-ui);border-radius:var(--r-2);color:var(--ink-2);cursor:pointer;transition:color var(--dur-1), border-color var(--dur-1), background-color var(--dur-1);background:0 0;font-size:.8125rem;font-weight:500;display:inline-flex}.copy-btn:hover{color:var(--ink);border-color:var(--ink-3);background:var(--surface)}.contact__facts{gap:var(--s-3);margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--line);display:grid}.contact__facts div{gap:var(--s-3);grid-template-columns:7.5rem minmax(0,1fr);display:grid}.contact__facts dt{color:var(--ink-3);font-size:.875rem}.contact__cv{gap:var(--s-3);margin-top:var(--s-6);scroll-margin-top:4.5rem;display:grid}.cv-actions{gap:var(--s-3);flex-wrap:wrap;display:flex}.cv-dl{text-align:left;justify-content:flex-start}.cv-dl .t-data{color:var(--ink-3)}.form{gap:var(--s-5);display:grid}.field{gap:var(--s-2);display:grid}.field label{color:var(--ink-2);font-size:.875rem;font-weight:500}.input{width:100%;min-height:48px;padding:var(--s-3);border:1px solid var(--line-ui);border-radius:var(--r-2);background:var(--surface);color:var(--ink);font:inherit;transition:border-color var(--dur-1)}.input::placeholder{color:var(--ink-3)}.input:hover{border-color:var(--ink-3)}.input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.input[aria-invalid=true]{border-color:var(--danger)}textarea.input{resize:vertical;min-height:calc(8lh + 2 * var(--s-3))}.field__error{color:var(--danger);font-size:.875rem}.form__submit{width:100%}@container shell (min-width:37.5rem){.form__submit{justify-self:end;width:auto}}.notice{padding:var(--s-5);border:1px solid var(--live);border-radius:var(--r-3);background:var(--surface)}.notice--error{border-color:var(--danger);margin-bottom:var(--s-5)}.notice p+p{margin-top:var(--s-2)}.hp{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@container shell (min-width:56.25rem){.contact__intro{grid-column:span 5}.contact__form{grid-column:span 7}}.not-found{gap:var(--s-5);align-content:center;justify-items:start;min-height:50dvh;display:grid}.site-footer{border-top:1px solid var(--line)}.site-footer__inner{gap:var(--s-4);padding-block:var(--s-7);color:var(--ink-3);flex-direction:column;display:flex}.site-footer__links{gap:var(--s-2) var(--s-5);flex-wrap:wrap;display:flex}.site-footer__end{align-items:center;gap:var(--s-3) var(--s-5);flex-wrap:wrap;display:flex}.site-footer a{color:var(--ink-2)}@container shell (min-width:56.25rem){.site-footer__inner{flex-direction:row;justify-content:space-between;align-items:center}}.pause-btn{align-items:center;gap:var(--s-1);min-height:32px;padding:var(--s-1) var(--s-2);border:1px solid var(--line-ui);border-radius:var(--r-2);color:var(--ink-2);background:var(--bg);cursor:pointer;transition:color var(--dur-1), border-color var(--dur-1);display:inline-flex}.pause-btn:hover{color:var(--ink);border-color:var(--ink-3)}html:not(.motion-lite) .pause-btn{display:none}.stage-foot__end{align-items:center;gap:var(--s-3) var(--s-5);flex-wrap:wrap;min-width:0;display:flex}.others__head{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}[data-paused] .marquee__row{animation-play-state:paused}.reveal-on .lane[data-reveal] .chip{transition:border-color .18s var(--ease-out);transition-delay:calc(var(--l,0) * 90ms + var(--i,0) * 60ms)}.reveal-on .lane[data-reveal] .chip__check{transition:opacity .18s var(--ease-out);transition-delay:inherit}.reveal-on .lane[data-reveal]:not(.is-in) .chip{border-color:var(--line)}.reveal-on .lane[data-reveal]:not(.is-in) .chip__check{opacity:0}.motion-lite .marquee__row--fwd,.motion-lite .marquee__row--rev{animation:marquee var(--marquee-d,60s) linear infinite}.motion-lite .marquee__row--rev{animation-direction:reverse}.marquee:not(.in-view) .marquee__row,.marquee:hover .marquee__row,.others:focus-within .marquee__row,.is-hidden .marquee__row{animation-play-state:paused}@keyframes marquee{to{transform:translate(-50%)}}.motion-lite .frame[data-warm] .frame__slide[data-active=true]{animation:tab-blur var(--dur-2) var(--ease-out)}@keyframes tab-blur{50%{filter:blur(2px)}}@media (hover:hover) and (pointer:fine){.motion-lite .spot:before{content:"";z-index:3;border-radius:inherit;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), var(--accent-spot), transparent 60%);opacity:0;pointer-events:none;-webkit-mask-composite:xor,source-over;-webkit-mask-composite:xor,source-over;padding:1px;transition:opacity .15s;position:absolute;inset:-1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.motion-lite .spot:hover:before{opacity:1;transition-duration:var(--dur-2)}.frame__img,.chapter__thumb img{transition:scale .42s var(--ease-out)}.motion-lite .demo-card:hover .frame__img,.motion-lite .client-card:hover .frame__slide[data-active=true] .frame__img,.motion-lite .chapter:hover .chapter__thumb img{scale:1.03}}main#contenido{isolation:isolate;position:relative}.circuit{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:clip}.circuit svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.circuit path{fill:none;stroke-linejoin:round;stroke-linecap:round}.circuit .c-base{stroke:var(--rail-idle);stroke-width:2px}.circuit .c-lit{stroke:var(--rail-lit);stroke-width:2px}.circuit .c-trail{stroke:var(--accent);stroke-width:2.5px}.circuit .c-node path{stroke:var(--rail-idle);stroke-width:2px;transition:stroke .3s var(--ease-out)}.circuit .c-node circle{fill:var(--bg);stroke:var(--line-ui);stroke-width:2px;transition:stroke .2s var(--ease-out), fill .2s var(--ease-out)}.circuit .c-node.is-on path{stroke:var(--rail-lit)}.circuit .c-node--wire path,.circuit .c-node--wire circle{stroke-width:1.5px}.circuit .c-node--wire.is-on circle{stroke:var(--accent);fill:var(--accent)}.circuit .c-node.is-on circle{stroke:var(--live);fill:#1c3326}.circuit__pk{opacity:0;will-change:transform;background:#ffd2b0;border-radius:2px;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute;top:0;left:0;box-shadow:0 0 0 3px #ff8b3d40,0 0 14px 4px #ff8b3d80}.circuit-on .circuit__pk{opacity:1}.circuit-static .circuit .c-node path{stroke:var(--rail-lit)}.spotlight{z-index:-1;opacity:0;pointer-events:none;width:480px;height:480px;transition:opacity .3s var(--ease-out);will-change:transform;position:fixed;top:0;left:0;overflow:hidden;-webkit-mask:radial-gradient(closest-side,#000 0,#0006 55%,#0000 100%);mask:radial-gradient(closest-side,#000 0,#0006 55%,#0000 100%)}.spotlight i{width:calc(480px + var(--grid));height:calc(480px + var(--grid));background:radial-gradient(circle at 1px 1px, #ff8b3db3 1.2px, transparent 1.7px) 0 0 / var(--grid) var(--grid);will-change:transform;position:absolute;top:0;left:0}.spotlight.is-on{opacity:1}.rail-title:after{content:"";width:7.5rem;height:2px;margin-top:var(--s-4);background:linear-gradient(90deg, var(--accent), transparent);transform-origin:0;display:block}.circuit-on .rail-title{transition:color .3s var(--ease-out)}.circuit-on section:not([data-lit]):not([data-shown]) .rail-title{color:var(--ink-3)}.circuit-on .rail-title:after{transition:transform .42s var(--ease-out) .1s}.circuit-on section:not([data-lit]):not([data-shown]) .rail-title:after{transition-duration:.18s;transition-delay:0s;transform:scaleX(0)}.hero .w{display:inline-block}.hero .w--acc{color:var(--accent)}.tb{z-index:2;pointer-events:none;width:calc(100% - 1.5px);height:calc(100% - 1.5px);position:absolute;top:.75px;left:.75px;overflow:visible}.tb rect{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:1 1;stroke-dashoffset:1px}.tb__pw{opacity:0}.tb__hv{transition:stroke-dashoffset .18s var(--ease-out)}.reveal-on [data-reveal].is-in>.tb .tb__pw{animation:tb-power .9s var(--ease-io) both;animation-delay:calc(var(--i,0) * 80ms)}@keyframes tb-power{0%{stroke-dashoffset:1px;opacity:1}50%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.motion-lite :is(.chapter,.client-card,.demo-card,.bento__cell):is(:hover,:focus-within)>.tb .tb__hv{stroke-dashoffset:0;transition:stroke-dashoffset .42s var(--ease-io)}.motion-lite .feature__body:has(.feature__stage:hover) .tb__hv{stroke-dashoffset:0;transition:stroke-dashoffset .42s var(--ease-io)}html:not(.motion-lite) :is(.chapter,.client-card,.demo-card,.bento__cell):is(:hover,:focus-within)>.tb .tb__hv{stroke-dashoffset:0}.tb-pin{z-index:3;border-radius:var(--r-1);background:var(--line-ui);width:8px;height:8px;transition:background-color var(--dur-2);pointer-events:none;display:none;position:absolute;top:18px;left:-4px}[data-wired]>.tb-pin{display:block}[data-wire-on]>.tb-pin,:is(.client-card,.demo-card,.bento__cell):is(:hover,:focus-within)>.tb-pin{background:var(--accent)}.client-card,.demo-card,.bento__cell,.feature__frame{position:relative}.dg .pk__core{fill:var(--accent)}.dg .pk__halo{fill:var(--accent);opacity:.22}.dg .pk--bot .pk__core,.dg .pk--bot .pk__halo{fill:var(--live)}.dg :is(.pk--deploy,.pk--cron,.pk--cli,.pk--backup) :is(.pk__core,.pk__halo){fill:var(--ink-2)}.dg .node__led{fill:var(--line-strong);transition:fill .45s var(--ease-out)}.dg .node.is-hit .node__led{fill:var(--live);transition:none}.dg .node.is-hit .node__box{stroke:#5ccb8acc;transition:none}.motion-lite .dg .trace{opacity:0}.stage-traffic{gap:var(--s-2);min-width:0;display:grid}.stage-traffic__btns{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.send-btn{align-items:center;gap:var(--s-2);min-height:36px;padding:var(--s-1) var(--s-3);border:1px solid var(--line-ui);font-family:var(--font-mono);color:var(--ink-2);background:var(--bg);cursor:pointer;transition:color var(--dur-1), border-color var(--dur-1), scale .14s var(--ease-out);border-radius:999px;font-size:.8125rem;display:inline-flex}.send-btn:hover{color:var(--ink);border-color:var(--ink-3)}.send-btn:active{scale:.96}.send-btn i{background:var(--accent);border-radius:50%;width:8px;height:8px}.send-btn--bot i{background:var(--live)}.send-btn--deploy i{background:var(--ink-2)}html:not(.motion-lite) .stage-traffic{display:none}.infra-sheet{left:var(--s-2);right:var(--s-2);bottom:calc(var(--s-2) + env(safe-area-inset-bottom,0px));z-index:45;gap:var(--s-2);max-width:32rem;max-height:42dvh;padding:var(--s-4);overscroll-behavior:contain;border:1px solid var(--line-strong);border-radius:var(--r-3);background:var(--raised);box-shadow:var(--shadow-pop);margin-inline:auto;display:grid;position:fixed;overflow:auto}.motion-lite .infra-sheet{animation:sheet-in .22s var(--ease-out) both}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)}}.infra-sheet__head{justify-content:space-between;align-items:start;gap:var(--s-3);min-width:0;display:flex}.infra-sheet__head .t-h3{overflow-wrap:anywhere;min-width:0}.infra-sheet__close{border:1px solid var(--line-ui);border-radius:var(--r-2);width:36px;height:36px;color:var(--ink);cursor:pointer;transition:border-color var(--dur-1);background:0 0;flex:none;place-items:center;margin:-6px -6px 0 0;display:inline-grid}.infra-sheet__close:hover{border-color:var(--ink-3)}.cform{gap:var(--s-5);display:grid}.send-row{align-items:center;row-gap:var(--s-3);flex-wrap:wrap;min-width:0;display:flex}.send-row .form__submit{width:auto}.wire{background:#2a3036;flex:3rem;min-width:3rem;height:2px;position:relative}.wire__lit{background:var(--accent);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.wire__pk{opacity:0;background:#ffd2b0;border-radius:2px;width:10px;height:10px;position:absolute;top:-4px;left:-5px;box-shadow:0 0 12px 3px #ff8b3d8c}.send-row:is([data-phase=sending],[data-phase=ok]) .wire__pk{opacity:1}.send-row[data-phase=ok] .wire__pk{opacity:0;transition:opacity .2s var(--ease-out) .16s}.send-row[data-phase=err] .wire__lit{background:var(--danger)}.wire__end{align-items:center;gap:var(--s-2);min-height:40px;padding:0 var(--s-3);border:1px solid var(--line-ui);border-radius:var(--r-3);color:var(--ink-2);white-space:nowrap;transition:border-color var(--dur-2), color var(--dur-2), background-color var(--dur-2);font-size:.8125rem;display:inline-flex}.wire__end i{background:var(--line-strong);width:8px;height:8px;transition:background-color var(--dur-2);border-radius:50%}.send-row[data-phase=ok] .wire__end:not(.wire__end--from){border-color:var(--live);color:var(--live);background:#5ccb8a14}.send-row[data-phase=ok] .wire__end i{background:var(--live)}.send-row[data-phase=err] .wire__end:not(.wire__end--from){border-color:var(--danger);color:var(--danger)}.wire__end--from{color:var(--ink);border-color:var(--line-strong)}.site-footer__inner{position:relative}.site-footer__inner:before{content:"";left:calc(var(--rail-x) - 5px + var(--rail-dx,0px));border:2px solid var(--line-strong);background:var(--bg);border-radius:50%;width:10px;height:10px;position:absolute;top:-6px}.disclosure{margin-top:var(--s-4)}.disclosure>summary{align-items:center;gap:var(--s-2);min-height:44px;color:var(--ink-2);-webkit-text-decoration:underline 1px var(--ink-3);-webkit-text-decoration:underline 1px var(--ink-3);-webkit-text-decoration:underline 1px var(--ink-3);text-decoration:underline 1px var(--ink-3);text-underline-offset:.22em;cursor:pointer;transition:color var(--dur-1), text-decoration-color var(--dur-1);font-weight:500;list-style:none;display:inline-flex}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:before{content:"";width:7px;height:7px;transition:rotate var(--dur-2) var(--ease-out);border-bottom:1.5px solid;border-right:1.5px solid;flex:none;translate:0 -1px;rotate:-45deg}.disclosure[open]>summary:before{rotate:45deg}.disclosure>summary:hover{color:var(--accent-hi);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.disclosure__body{min-height:0}@supports selector(::details-content){.motion-lite .disclosure::details-content{transition:grid-template-rows var(--dur-3) var(--ease-out), content-visibility var(--dur-3) allow-discrete;grid-template-rows:0fr;display:grid;overflow:clip}.motion-lite .disclosure[open]::details-content{grid-template-rows:1fr}}.disclosure__inner{padding-top:var(--s-2)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:0s!important;transition-delay:0s!important;animation-duration:0s!important}}.crumbs ol{gap:var(--s-1) var(--s-2);color:var(--ink-3);flex-wrap:wrap;display:flex}.crumbs li{gap:var(--s-2);display:inline-flex}.crumbs li+li:before{content:"›";color:var(--ink-3)}.crumbs [aria-current]{color:var(--ink-2)}.case-hero{padding-block:var(--s-6) var(--s-8)}.case-hero__grid{margin-top:var(--s-6);row-gap:var(--s-7);align-items:start}.case-hero__tags{gap:var(--s-2);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.case-hero__title{font-size:var(--t-case);font-variation-settings:"wdth" 80;letter-spacing:-.025em;font-weight:700;line-height:1.02}.case-hero__sub{margin-top:var(--s-5)}.case-hero__summary{max-width:62ch;margin-top:var(--s-4)}.case-links{gap:var(--s-2) var(--s-5);margin-top:var(--s-5);flex-wrap:wrap;display:flex}.case-links__note{margin-top:var(--s-5)}@container shell (min-width:56.25rem){.case-hero__text,.case-hero__media{grid-column:span 6}}.sub-section__title{margin-bottom:var(--s-6)}.case-prose{gap:var(--s-4);max-width:68ch;color:var(--ink-2);display:grid}.case-prose .subhead{color:var(--ink);margin-bottom:0}.case-split{row-gap:var(--s-6);align-items:start}@container shell (min-width:56.25rem){.case-split>*{grid-column:span 6}.case-split--text>*{grid-column:1/span 8}}.case-fig{min-width:0;container:casefig/inline-size}.case-fig__row{gap:var(--s-4);align-items:end;display:grid}.case-fig__phone{border:1px solid var(--line-strong);border-radius:var(--r-3);background:var(--surface);width:min(12rem,60%);overflow:clip}.case-fig__phone img{width:100%;height:auto;display:block}@container casefig (min-width:40rem){.case-fig--phone .case-fig__row{grid-template-columns:minmax(0,1fr) 10rem}.case-fig__phone{width:100%}}.case-fig__cap{margin-top:var(--s-2);color:var(--ink-3)}.case-figs{gap:var(--s-5);margin-top:var(--s-6);display:grid}@container shell (min-width:37.5rem){.case-figs--2{grid-template-columns:repeat(2,minmax(0,1fr))}}.case-figs--3{max-width:64rem}.case-arch{row-gap:var(--s-7);align-items:start}@container shell (min-width:56.25rem){.case-arch>.flow{grid-column:span 7}.case-arch>.case-pieces{grid-column:span 5}}.flow{--flow-led:24px;--flow-gap:var(--s-3);--flow-led-y:calc(var(--s-3) + .75rem);min-width:0}.flow__cap{gap:var(--s-1);margin-bottom:var(--s-5);display:grid}.flow__title{font-weight:600}.flow__body{position:relative}.flow__steps{gap:var(--flow-gap);display:grid}.flow__step{grid-template-columns:var(--flow-led) minmax(0, 1fr);column-gap:var(--s-3);align-items:start;display:grid;position:relative}.flow__step:not(:last-child):after{content:"";left:calc(var(--flow-led) / 2 - .5px);top:var(--flow-led-y);width:1px;height:calc(100% + var(--flow-gap));background:var(--line-strong);position:absolute}.flow__led{z-index:1;width:8px;height:8px;margin-top:calc(var(--flow-led-y) - 4px);border-radius:var(--r-1);background:var(--line-strong);transition:background-color .45s var(--ease-out);justify-self:center;position:relative}.flow__node{gap:var(--s-3);min-width:0;padding:var(--s-3) var(--s-4);background:var(--raised);border:1px solid var(--line-strong);border-radius:var(--r-2);transition:border-color .45s var(--ease-out);line-height:1.5;display:flex}.flow__n{color:var(--accent);flex:none;line-height:1.5rem}.flow__step.is-hit .flow__led{background:var(--live);transition:none}.flow__step.is-hit .flow__node{border-color:var(--live)}@supports (color:color-mix(in lab, red, red)){.flow__step.is-hit .flow__node{border-color:color-mix(in srgb, var(--live) 80%, transparent)}}.flow__step.is-hit .flow__node{transition:none}.flow__pk{z-index:2;background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 6px var(--accent-dim);opacity:0;pointer-events:none;border-radius:50%;margin:-4.5px 0 0 -4.5px;position:absolute;top:0;left:0}html:not(.motion-lite) .flow__pk{display:none}.flow__foot{margin-top:var(--s-4);display:flex}.decisions{border-top:1px solid var(--line)}.decision{column-gap:var(--s-4);padding-block:var(--s-5);border-bottom:1px solid var(--line);grid-template-columns:2.5rem minmax(0,1fr);display:grid}.decision__n{color:var(--accent);padding-top:.2em}.decision__body{gap:var(--s-2);max-width:72ch;display:grid}.decision__trade{color:var(--ink-2)}.decision__tag{margin-right:var(--s-1);font-family:var(--font-mono);color:var(--accent-hi);font-size:.75rem}.case-results{gap:var(--s-3);display:grid}.case-results li{gap:var(--s-3);align-items:baseline;min-width:0;display:flex}.case-results__check{color:var(--live);flex:none;align-self:start;margin-top:.2em}.case-results__note{margin-top:var(--s-5)}.notice--plain{border-color:var(--line-strong)}.case-stack__title{margin-top:var(--s-7);margin-bottom:var(--s-3)}.case-stack{gap:var(--s-2);flex-wrap:wrap;display:flex}.case-stack .tag{white-space:normal;padding-block:4px;line-height:1.3}.case-nav{padding-top:0}.case-nav__list{gap:var(--s-4);display:grid}@container shell (min-width:37.5rem){.case-nav__list{grid-template-columns:repeat(2,minmax(0,1fr))}.case-nav__item--next{text-align:right}.case-nav__item--next .case-nav__dir{justify-content:flex-end}}.case-nav__card{gap:var(--s-2);height:100%;padding:var(--s-5);border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface);transition:border-color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);display:grid;position:relative}.case-nav__card:hover{border-color:var(--line-ui);background:var(--raised)}.case-nav__card:hover .case-nav__name{color:var(--accent-hi)}.case-nav__dir{align-items:center;gap:var(--s-1);display:flex}.case-nav__name{transition:color var(--dur-1);font-size:1.25rem;font-weight:650;line-height:1.2}.case-nav__end{justify-content:space-between;gap:var(--s-3) var(--s-6);margin-top:var(--s-6);flex-wrap:wrap;display:flex}.case-nav__end .link{align-items:center;gap:var(--s-1);display:inline-flex}.case-nav__end .link__icon{margin-left:0}.case-cta{align-items:center;gap:var(--s-1);font-weight:600;display:inline-flex}.pm-hero__head{margin-top:var(--s-6);max-width:62rem}.pm-box{margin-top:var(--s-7);padding:var(--s-5);border:1px solid var(--line-strong);border-left:2px solid var(--accent);border-radius:var(--r-3);background:var(--surface)}@container shell (min-width:37.5rem){.pm-box{padding:var(--s-6)}}.pm-box .subhead{margin-bottom:var(--s-3)}.pm-box__summary{max-width:72ch;color:var(--ink-2)}.pm-box__grid{margin-top:var(--s-6);row-gap:var(--s-6)}.pm-box__label{margin-bottom:var(--s-3)}@container shell (min-width:56.25rem){.pm-box__impact{grid-column:span 7}.pm-box__durations{grid-column:span 5}}.pm-stats{gap:var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pm-stat{gap:var(--s-1);flex-direction:column-reverse;min-width:0;display:flex}.pm-stat__value{font-variation-settings:"wdth" 85;color:var(--ink);font-variant-numeric:tabular-nums;font-size:clamp(1.25rem,1rem + 1cqi,1.75rem);font-weight:650;line-height:1.2}.pm-timeline{gap:var(--s-5);padding-left:var(--s-6);display:grid;position:relative}.pm-timeline:before,.pm-timeline:after{content:"";background:var(--line-strong);width:1px;position:absolute;top:.6em;bottom:.6em;left:3.5px}.pm-timeline:after{background:var(--accent);transform-origin:top;transform:scaleY(var(--fill,1))}.pm-event{gap:var(--s-1);max-width:72ch;display:grid;position:relative}.pm-event:before{content:"";left:calc(-1 * var(--s-6));z-index:1;border-radius:var(--r-1);background:var(--accent);border:1px solid var(--accent);width:8px;height:8px;transition:background-color var(--dur-2);position:absolute;top:.4em}.pm-event.is-pending:before{background:var(--bg)}.pm-event[data-key] .pm-event__what{font-weight:600}.pm-event__meta{align-items:center;gap:var(--s-1) var(--s-3);flex-wrap:wrap;display:flex}.pm-event__when{color:var(--ink)}.pm-event__what{color:var(--ink-2)}.pm-event[data-key] .pm-event__what{color:var(--ink)}.pm-phase{align-items:center;gap:var(--s-1);color:var(--ink-3);display:inline-flex}.pm-phase:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}[data-phase=intrusion] .pm-phase{color:var(--danger)}[data-phase=detection] .pm-phase{color:var(--warn)}[data-phase=containment] .pm-phase{color:var(--accent-hi)}[data-phase=recovery] .pm-phase{color:var(--live)}[data-phase=hardening] .pm-phase{color:var(--ink-2)}.pm-list{gap:var(--s-3);max-width:76ch}.pm-gap{margin-top:var(--s-7)}.pm-table-wrap{min-width:0}.pm-table{border-collapse:collapse;text-align:left;width:100%}.pm-table th{padding:0 var(--s-3) var(--s-2) 0;color:var(--ink-3);border-bottom:1px solid var(--line-strong);font-size:.8125rem;font-weight:600}.pm-table td{padding:var(--s-3) var(--s-3) var(--s-3) 0;vertical-align:top;border-bottom:1px solid var(--line)}.pm-actions__n{width:2rem}.pm-status{align-items:center;gap:var(--s-1);font-weight:600;display:inline-flex}.pm-status svg{flex:none}.pm-status__note{margin-top:var(--s-1);display:block}[data-status=done] .pm-status{color:var(--live)}[data-status=pending] .pm-status{color:var(--warn)}[data-status=accepted] .pm-status{color:var(--ink-2)}.pm-state{align-items:center;gap:var(--s-2);display:flex}.pm-state--done svg{color:var(--live)}.pm-state--pending svg{color:var(--warn)}.pm-rotation{gap:var(--s-4);max-width:76ch;display:grid}.pm-rotation dt{font-weight:600}.pm-rotation dd{margin-top:var(--s-1)}.pm-lessons{gap:var(--s-4);counter-reset:lesson;max-width:72ch;display:grid}.pm-lessons li{padding-left:var(--s-7);counter-increment:lesson;font-size:1.125rem;line-height:1.5;position:relative}.pm-lessons li:before{content:counter(lesson, decimal-leading-zero);font-family:var(--font-mono);color:var(--accent);font-size:.8125rem;position:absolute;top:.2em;left:0}.feature__case{margin-top:var(--s-3)}.feature__note{margin-top:var(--s-2)}:is(.case-hero,.sub-section) code{border-radius:var(--r-1);background:var(--raised);font-family:var(--font-mono);color:var(--ink);white-space:nowrap;overflow-wrap:normal;padding:0 .25em;font-size:.875em}@container shell (max-width:37.49rem){.pm-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pm-table,.pm-table tbody,.pm-table tr,.pm-table td{display:block}.pm-table tr{padding-block:var(--s-3);border-bottom:1px solid var(--line)}.pm-table td{border:0;padding:0}.pm-table td+td{margin-top:var(--s-2)}.pm-table td[data-label]:before{content:attr(data-label);color:var(--ink-3);font-size:.8125rem;font-weight:600;display:block}.pm-actions tr{grid-template-columns:2rem minmax(0,1fr);column-gap:0;display:grid}.pm-actions td{grid-column:2}.pm-actions td.pm-actions__n{grid-area:1/1/span 2;width:auto}.pm-actions td+td{margin-top:0}.pm-actions td:last-child{margin-top:var(--s-2)}}@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-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}
