/* Hyle Industries. Built by build.py from the explorations; edit the source, not this. */

/**
 * @license
 * MyFonts Webfont Build ID 3867246
 *
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are
 * explicitly restricted from using the Licensed Webfonts(s).
 *
 * You may obtain a valid license at the URLs below.
 *
 * Webfont: BT Steinhart Regular by BeauType
 * URL: https://www.myfonts.com/collections/beautype-foundry
 * Webfont: BT Steinhart Medium by BeauType
 * URL: https://www.myfonts.com/collections/beautype-foundry
 * Webfont: BT Steinhart Bold by BeauType
 * URL: https://www.myfonts.com/collections/beautype-foundry
 * Webfont: BT Steinhart Regular Mono by BeauType
 * URL: https://www.myfonts.com/collections/beautype-foundry
 *
 * © 2026 MyFonts Inc. */
@font-face{font-family:"Steinhart";font-weight:400;font-style:normal;font-display:block;src:url("/fonts/BTSteinhart-Regular.woff2") format("woff2"),url("/fonts/BTSteinhart-Regular.woff") format("woff")}
@font-face{font-family:"Steinhart";font-weight:500;font-style:normal;font-display:block;src:url("/fonts/BTSteinhart-Medium.woff2") format("woff2"),url("/fonts/BTSteinhart-Medium.woff") format("woff")}
@font-face{font-family:"Steinhart Display";font-weight:700;font-style:normal;font-display:block;src:url("/fonts/BTSteinhart-Bold.woff2") format("woff2"),url("/fonts/BTSteinhart-Bold.woff") format("woff")}
@font-face{font-family:"Steinhart Mono";font-weight:400;font-style:normal;font-display:block;src:url("/fonts/BTSteinhart-RegularMono.woff2") format("woff2"),url("/fonts/BTSteinhart-RegularMono.woff") format("woff")}

/* Zebulon, the wordmark: Neale Davidson, Pixel Sagas. Licensed under the SIL Open Font License 1.1;
   the licence text ships beside the files as /fonts/Zebulon-OFL.txt. Copyright (c) 2013-2016, Neale Davidson. */
@font-face{font-family:"Zebulon";font-weight:400;font-style:normal;font-display:block;src:url("/fonts/Zebulon.woff2") format("woff2"),url("/fonts/Zebulon.woff") format("woff")}



:root{
  color:#edf0f4;background:#080a0d;
  font-family:"Steinhart Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  font-synthesis:none;text-rendering:geometricPrecision;
  --bg:#080a0d;--fg:#edf0f4;--muted:#8a93a2;--faint:#79828f;--line:#1b1f26;--blue:#4c8dff;
  --doc-bg:#f1f3f6;--doc-panel:#e8ecf1;--doc-fg:#0a0c10;--doc-muted:#4b535f;--doc-faint:#666f7c;
  --doc-line:#dbe0e7;--doc-hair:#e6eaef;--doc-accent:#0057d9;
  --wash-1:rgba(214,227,247,.96);--wash-2:rgba(140,182,246,.66);--wash-3:rgba(76,141,255,.28);--wash-rim:#ffffff;
  --nav-panel:rgba(20,23,28,.92);--nav-line:rgba(237,240,244,.13);
  --nav-fg:#edf0f4;--nav-muted:rgba(237,240,244,.70);--nav-accent:#4c8dff;--nav-on-accent:#0a0c10;--noise:1;

  --doc-geo:#c7ced8;--doc-fig-line:var(--doc-line);--doc-fig-hair:var(--doc-hair);--doc-mark:var(--doc-faint);--fig-ground:var(--doc-bg);
  --sec-pad:clamp(84px,10.5vw,140px);--sec-pad-end:var(--sec-pad);--rule-gap:20px;

  --ctl-fg:#edf0f4;--ctl-muted:rgba(237,240,244,.82);--ctl-line:rgba(237,240,244,.26);--ctl-accent:var(--blue);--ctl-ground:var(--bg);--on-accent:#0a0c10;
  --shell-max:1180px;--shell-pad:clamp(24px,5vw,72px);
  --idx-col:clamp(70px,7.6vw,112px);--idx-gap:clamp(22px,2.8vw,42px);
  --act-height:265svh;--arc-w:150%;--arc-k:.844059;
  --top:clamp(30px,4.4vh,48px);--pad:clamp(22px,4vw,62px);

  --plate:url("/assets/hero/calibrated-field.webp");

}
:root[data-ground="carbon"]{
  --doc-bg:#191c22;--doc-panel:#20242b;--doc-fg:#edf0f4;--doc-muted:#949dac;--doc-faint:#828b99;
  --doc-line:#2a2f37;--doc-hair:#23272e;--doc-accent:#5c97ff;
  --wash-1:rgba(120,150,200,.60);--wash-2:rgba(92,151,255,.52);--wash-3:rgba(76,141,255,.24);--wash-rim:#cfe0ff;

  --nav-panel:rgba(31,35,42,.95);--nav-line:rgba(237,240,244,.16);--nav-muted:rgba(237,240,244,.74);--nav-accent:#6aa1ff;--noise:.5;

  --doc-geo:#3f4652;--doc-fig-line:#30363f;--doc-fig-hair:#262b33;
}
*{box-sizing:border-box}
html,body{min-width:320px;margin:0}
html{overflow-x:clip}
body{min-height:100vh;overflow-x:clip;background:var(--bg);-webkit-font-smoothing:antialiased;timeline-scope:--act}
button,a{font:inherit}
button{color:inherit}
button:focus-visible,a:focus-visible{outline:1px solid var(--blue);outline-offset:5px}
svg.defs{position:absolute;width:0;height:0}

.chrome{position:fixed;inset:0;z-index:60;pointer-events:none;
  animation:chrome-in 1s .28s cubic-bezier(.2,.7,.2,1) both}
@keyframes chrome-in{from{opacity:0}to{opacity:1}}
.chrome>*{pointer-events:auto}

.brand{position:absolute;z-index:2;top:var(--top);left:var(--pad);display:flex;align-items:center;gap:11px;height:32px;
  color:var(--fg);text-decoration:none;transform-origin:0 0}
.brand__mark{display:block;width:32px;height:32px;transform-origin:50% 50%;color:inherit}
.brand__mark svg,.panel__mark svg{display:block;width:100%;height:100%;fill:currentColor}
.brand__type{font-family:"Zebulon","Steinhart Display",Arial,sans-serif;font-size:clamp(22px,1.85vw,28px);line-height:1;letter-spacing:.012em;white-space:nowrap}

.nav{display:flex;align-items:center}
.nav__item{position:relative;display:grid;grid-auto-flow:column;gap:9px;align-items:center;padding:0;border:0;
  background:none;color:var(--nav-muted);text-align:left;text-decoration:none;cursor:pointer;
  transition:color .16s linear,background-color .18s linear}
.nav__idx{color:var(--blue);font-size:9.5px;letter-spacing:.18em}
.nav__label{font-size:10px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.nav__glyph{display:none;color:var(--nav-accent)}
.nav__item:hover,.nav__item.is-active{color:var(--nav-fg)}

.nav--hero{position:absolute;top:var(--top);right:var(--pad);height:32px;gap:clamp(20px,2.8vw,44px)}

.panel{position:absolute;z-index:1;top:14px;right:var(--pad);display:flex;align-items:center;padding:7px 9px}
.panel__surface{position:absolute;inset:0;opacity:0;border:1px solid var(--nav-line);background-color:var(--nav-panel);
  background-image:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0) 42%);
  box-shadow:0 18px 44px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.05)}
.panel__surface::after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay;opacity:var(--noise);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E")}

.panel__mark{position:relative;display:flex;align-items:center;align-self:stretch;padding:0 8px 0 10px;margin-right:4px;
  color:var(--nav-fg);opacity:0}
.panel__mark svg{width:22px;height:22px}
.nav--doc{position:relative;gap:4px}
.nav--doc .nav__item{padding:9px 14px;opacity:0}
.nav--doc .nav__idx{color:var(--nav-accent)}

.pill{position:absolute;top:0;left:0;width:1px;height:100%;background:rgba(237,240,244,.06);transform-origin:0 0;opacity:0;pointer-events:none;
  transition:transform .32s cubic-bezier(.2,.7,.2,1),opacity .2s linear}
[data-nav="plain"][data-state="doc"] .pill{opacity:1}

[data-mark="dock"] .panel__mark svg,[data-mark="roll"] .panel__mark svg{opacity:0}
[data-mark="hold"] .panel__mark{display:none}

.scale{position:absolute;right:14px;bottom:0;left:14px;height:12px;display:none;pointer-events:none;border-bottom:1px solid var(--nav-line);
  background:repeating-linear-gradient(90deg,var(--nav-line) 0 1px,transparent 1px 6px) 0 100%/100% 4px no-repeat}
[data-nav="scale"] .scale{display:block}
[data-nav="scale"] .nav--doc{padding-bottom:15px}
[data-nav="scale"] .nav--doc .nav__item{padding:8px 14px 7px}
.scale i{position:absolute;bottom:0;width:1px;height:8px;background:var(--nav-muted);opacity:.55;transition:opacity .2s linear,background .2s linear}
.scale i.on{background:var(--nav-fg);opacity:1}
.scale b{position:absolute;bottom:-1px;left:-1px;width:2px;height:12px;background:var(--nav-accent);box-shadow:0 0 7px var(--nav-accent)}

[data-nav="readout"] .nav--doc{gap:2px;justify-content:space-between}
[data-nav="readout"] .nav--doc .nav__item{padding:9px 11px;gap:0}
.chrome.measuring *{transition:none!important}
[data-nav="readout"] .nav--doc .nav__idx{font-size:10px;color:var(--nav-accent)}
[data-nav="readout"] .nav--doc .nav__label{max-width:0;padding-left:0;overflow:hidden;opacity:0;
  transition:max-width .34s cubic-bezier(.2,.7,.2,1),padding .34s cubic-bezier(.2,.7,.2,1),opacity .22s linear}
[data-nav="readout"] .nav--doc .nav__item.is-active .nav__label,[data-nav="readout"] .nav--doc .nav__item:hover .nav__label{max-width:14ch;padding-left:9px;opacity:1}
[data-nav="readout"] .nav--doc .nav__item.is-active .nav__idx{color:var(--nav-fg)}

[data-nav="cells"] .panel,[data-nav="block"] .panel{padding:0}
[data-nav="cells"] .panel__mark,[data-nav="block"] .panel__mark{padding:0 13px 0 15px;margin:0;border-right:1px solid var(--nav-line)}
[data-nav="cells"] .nav--doc,[data-nav="block"] .nav--doc{gap:0}
[data-nav="cells"] .nav--doc .nav__item{padding:0 16px;height:46px}
[data-nav="cells"] .nav--doc .nav__item+.nav__item,[data-nav="block"] .nav--doc .nav__item+.nav__item{border-left:1px solid var(--nav-line)}
[data-nav="cells"] .nav--doc .nav__item::before,[data-nav="block"] .nav--doc .nav__item::before{content:"";position:absolute;top:-1px;right:0;left:-1px;height:2px;
  background:var(--nav-accent);transform:scaleX(0);transform-origin:0 0;transition:transform .24s cubic-bezier(.2,.7,.2,1)}
[data-nav="cells"] .nav--doc .nav__item.is-active::before,[data-nav="block"] .nav--doc .nav__item.is-active::before{transform:scaleX(1)}
[data-nav="cells"] .nav--doc .nav__item:hover,[data-nav="block"] .nav--doc .nav__item:hover{background:rgba(237,240,244,.045)}
[data-nav="cells"] .nav--doc .nav__glyph,[data-nav="block"] .nav--doc .nav__glyph{display:block}

[data-nav="block"] .nav__item{grid-auto-flow:row;grid-template-areas:"idx idx" "label glyph";gap:3px 8px;align-content:center;justify-items:start}
[data-nav="block"] .nav__idx{grid-area:idx}
[data-nav="block"] .nav__label{grid-area:label}
[data-nav="block"] .nav__idx{font-size:8.5px;letter-spacing:.2em}
[data-nav="block"] .nav--hero{height:auto;gap:clamp(18px,2.4vw,36px)}
[data-nav="block"] .nav--doc .nav__item{padding:0 16px;height:52px}
[data-nav="block"] .nav--doc .nav__idx{color:var(--nav-muted);opacity:.75}
[data-nav="block"] .nav--doc .nav__item.is-active .nav__idx{color:var(--nav-accent);opacity:1}
[data-nav="block"] .nav--doc .nav__glyph{grid-area:glyph;align-self:center}

[data-surface="glass"] .panel{--nav-fg:var(--doc-fg);--nav-muted:var(--doc-muted);--nav-accent:var(--doc-accent);
  --nav-line:color-mix(in srgb,var(--doc-fg) 14%,transparent);--nav-on-accent:#fff}
:root[data-ground="carbon"] [data-surface="glass"] .panel{--nav-on-accent:#0a0c10}
[data-surface="glass"] .panel__surface{background-color:color-mix(in srgb,var(--doc-bg) 58%,transparent);
  background-image:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,0) 55%);
  -webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);
  box-shadow:0 12px 34px rgba(10,16,28,.14),inset 0 1px 0 rgba(255,255,255,.6)}
[data-surface="glass"] .panel__surface::after{display:none}
:root[data-ground="carbon"] [data-surface="glass"] .panel__surface{background-color:rgba(26,30,37,.55);
  background-image:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,0) 55%);
  box-shadow:0 18px 44px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.1)}
[data-surface="glass"] .pill,
[data-surface="glass"][data-nav="cells"] .nav--doc .nav__item:hover,[data-surface="glass"][data-nav="block"] .nav--doc .nav__item:hover{
  background:color-mix(in srgb,var(--doc-fg) 7%,transparent)}

[data-tail="action"] .nav__item[href],[data-tail="accent"] .nav__item[href]{gap:0;align-self:stretch;padding:0 0 0 16px;
  border:1px solid var(--nav-line);color:var(--nav-fg);transition:background .16s linear,color .16s linear,border-color .16s linear}
[data-tail="action"] .nav__item[href] .nav__idx,[data-tail="accent"] .nav__item[href] .nav__idx{display:none}
[data-tail="action"] .nav__item[href] .nav__glyph,[data-tail="accent"] .nav__item[href] .nav__glyph{display:grid;place-items:center;width:36px;
  align-self:stretch;margin-left:14px;border-left:1px solid var(--nav-line);color:var(--nav-accent);transition:background .16s linear,color .16s linear}
[data-tail="action"] .nav__item[href]:hover .nav__glyph{background:var(--nav-accent);border-left-color:var(--nav-accent);color:var(--nav-on-accent)}
[data-tail="action"] .nav--hero .nav__item[href]{border-color:rgba(237,240,244,.26)}
[data-tail="action"] .nav--hero .nav__item[href] .nav__glyph{border-left-color:rgba(237,240,244,.26)}
[data-tail="action"] .nav--doc .nav__item[href],[data-tail="accent"] .nav--doc .nav__item[href]{margin-left:10px}

[data-tail="action"][data-nav="cells"] .nav--doc .nav__item[href],[data-tail="action"][data-nav="block"] .nav--doc .nav__item[href],
[data-tail="accent"][data-nav="cells"] .nav--doc .nav__item[href],[data-tail="accent"][data-nav="block"] .nav--doc .nav__item[href]{
  margin:0;border-width:0 0 0 1px;border-color:var(--nav-line)}

[data-tail="action"][data-nav="block"] .nav__item[href],[data-tail="accent"][data-nav="block"] .nav__item[href]{grid-template-areas:"label glyph";align-content:stretch}
[data-tail="action"][data-nav="block"] .nav--doc .nav__item[href] .nav__glyph,[data-tail="accent"][data-nav="block"] .nav--doc .nav__item[href] .nav__glyph{align-self:stretch}
[data-tail="action"][data-nav="readout"] .nav--doc .nav__item[href] .nav__label,[data-tail="accent"][data-nav="readout"] .nav--doc .nav__item[href] .nav__label{max-width:14ch;opacity:1}

[data-tail="accent"] .nav__item[href]{border-color:var(--nav-accent)}
[data-tail="accent"] .nav__item[href] .nav__glyph{background:var(--nav-accent);border-left-color:var(--nav-accent);color:var(--nav-on-accent)}
[data-tail="accent"] .nav__item[href]:hover{background:var(--nav-accent);color:var(--nav-on-accent)}
[data-tail="accent"] .nav--hero .nav__item[href]{border-color:var(--blue)}
[data-tail="accent"] .nav--hero .nav__item[href] .nav__glyph{background:var(--blue);border-left-color:var(--blue);color:#0a0c10}
[data-tail="accent"] .nav--hero .nav__item[href]:hover{background:var(--blue);color:#0a0c10}

:root[data-doc="column"] .grid{--rail-gap:48px;--idx-span:188px;grid-template-columns:140px minmax(0,660px) 140px;column-gap:var(--rail-gap);justify-content:center}

[data-layout="centre"] .panel{left:50%;right:auto;transform:translateX(-50%)}
.bar{position:absolute;top:0;right:0;left:0;height:60px;display:none;opacity:0;
  background:color-mix(in srgb,var(--doc-bg) 94%,transparent);border-bottom:1px solid var(--doc-line)}
[data-layout="bar"] .bar{display:block}
[data-layout="bar"] .panel{top:0;height:60px;padding:0}
[data-layout="bar"] .panel__surface,[data-layout="bar"] .panel__mark{display:none}
[data-layout="bar"] .nav--doc{gap:clamp(18px,2.4vw,38px)}
[data-layout="bar"] .nav--doc .nav__item{padding:0;color:var(--doc-muted)}
[data-layout="bar"] .nav--doc .nav__item:hover,[data-layout="bar"] .nav--doc .nav__item.is-active{color:var(--doc-fg);background:none}
[data-layout="bar"] .nav--doc .nav__idx{color:var(--doc-accent)}

[data-state="hero"] .panel{pointer-events:none}
[data-state="doc"] .nav--hero{pointer-events:none}
[data-state="doc"][data-mark="swap"]:not([data-layout="bar"]) .brand{pointer-events:none}

.act{position:relative;height:var(--act-height);background:var(--bg);view-timeline-name:--act;view-timeline-axis:block}
.act__pin{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;isolation:isolate;background:var(--bg)}
[data-act]{animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--act;animation-range:contain 0% contain 100%}
.act__scene{position:absolute;inset:0;z-index:0;animation:scene-arrive 2.2s cubic-bezier(.2,.7,.2,1) both}
.act__plate{position:absolute;top:0;left:0;width:70%;height:70%;transform-origin:0 0;will-change:transform,opacity;
  animation-name:scene-depart;background:var(--plate) 50% 50%/cover no-repeat}
@keyframes scene-depart{0%,6%{opacity:1;transform:scale(1.4286)}70%,100%{opacity:0;transform:scale(1.5)}}

.act__scene::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(118% 88% at 2% 104%,rgba(6,9,14,.94) 0,rgba(6,9,14,.86) 26%,rgba(6,9,14,.5) 46%,rgba(6,9,14,.14) 62%,rgba(6,9,14,0) 78%)}
.act__bloom{position:absolute;z-index:1;top:28%;right:0;left:0;height:38%;pointer-events:none;opacity:0;will-change:opacity;animation-name:bloom;
  background:radial-gradient(120% 62% at 50% 48%,rgba(150,196,255,.55) 0 22%,rgba(76,141,255,.26) 46%,rgba(76,141,255,0) 78%)}
@keyframes bloom{0%,8%{opacity:0}38%{opacity:1}68%,100%{opacity:0}}
.act__wash{position:absolute;inset:0;z-index:2;pointer-events:none}
.act__wash>*{position:absolute;left:-20%;right:-20%;will-change:transform;animation-name:wash-rise}
.wash__edge{top:0;height:110svh;background:radial-gradient(var(--arc-w) 100% at 50% 100%,
  var(--doc-bg) 0 44.4%,var(--wash-rim) 45.4%,var(--wash-1) 46.6%,var(--wash-2) 51%,var(--wash-3) 59%,rgba(76,141,255,0) 74%)}
.wash__fill{top:70.8svh;height:160svh;background:var(--doc-bg)}
@keyframes wash-rise{0%,8%{transform:translate3d(0,50.8svh,0)}100%{transform:translate3d(0,-116.4svh,0)}}
.act__flat{position:absolute;inset:0;z-index:3;background:var(--doc-bg);opacity:0;will-change:opacity;animation-name:flat-in}
@keyframes flat-in{0%,66%{opacity:0}86%,100%{opacity:1}}
.act__hero{position:absolute;inset:0;z-index:4}
.act__hero>*{position:absolute}
@keyframes depart{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-70px)}}
.act__intro{position:absolute;inset:0;z-index:5;display:grid;align-content:center;pointer-events:none}
.act__intro>*{pointer-events:auto}
@keyframes scene-arrive{from{opacity:0;transform:translate3d(0,1.2%,0) scale(1.018)}to{opacity:1;transform:none}}
@keyframes interface-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes copy-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

.hero__copy{right:clamp(42px,5vw,80px);bottom:clamp(55px,7vh,80px);width:min(61vw,930px);text-align:right;
  animation-name:copy-arrive,depart;animation-duration:1.15s,auto;animation-delay:.6s,0s;
  animation-timing-function:cubic-bezier(.2,.7,.2,1),linear;animation-fill-mode:both,both;
  animation-timeline:auto,--act;animation-range:normal,contain 4% contain 34%}
.hero__copy h1{margin:0;font-family:"Steinhart Display",Arial,sans-serif;font-size:clamp(68px,6.35vw,106px);font-weight:700;
  line-height:.91;letter-spacing:-.044em;text-transform:uppercase}
.hero__copy h1 span{display:block;color:transparent;white-space:nowrap;
  background:linear-gradient(105deg,#fff 0%,#aeb7c4 18%,#f4f7fb 38%,#7f8997 55%,#eef2f7 72%,#b2bbc7 100%);
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 16px rgba(0,0,0,.36))}
.hero__copy h1 i{color:var(--blue);background:none;font-style:normal;-webkit-text-fill-color:var(--blue);filter:drop-shadow(0 0 10px rgba(76,141,255,.42))}
.hero__lede{z-index:2;bottom:clamp(62px,7.7vh,88px);left:clamp(48px,5vw,92px);width:min(560px,42vw);
  animation-name:interface-arrive,depart;animation-duration:1s,auto;animation-delay:.78s,0s;
  animation-timing-function:cubic-bezier(.2,.7,.2,1),linear;animation-fill-mode:both,both;
  animation-timeline:auto,--act;animation-range:normal,contain 1% contain 27%}
.hero__eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 14px;color:var(--blue);font-size:10px;line-height:1.4;
  letter-spacing:.2em;text-transform:uppercase;text-shadow:0 2px 12px #000}
.hero__eyebrow .gx{opacity:.85}
.hero__eyebrow .gx .g2{display:none}
.hero__eyebrow .gx .wrapg{transform:none}
.hero__say{max-width:34ch;margin:0 0 30px;color:rgba(237,240,244,.9);font-size:16.5px;line-height:1.62;text-shadow:0 2px 16px rgba(0,0,0,.9)}

.gx{display:block;flex:none;overflow:visible}
.gx use{fill:currentColor;shape-rendering:crispEdges}
.gx .g2{opacity:0;transform:translateX(-4px);transition:opacity .18s linear,transform .2s cubic-bezier(.2,.7,.3,1)}
.gx .wrapg{transform:translateX(-3px);transition:transform .2s cubic-bezier(.2,.7,.3,1)}
.gd{display:block;flex:none;overflow:visible}
.gd use{fill:currentColor;shape-rendering:crispEdges}
.gd .d2{opacity:0;transform:translate(4px,-4px);transition:opacity .18s linear,transform .2s cubic-bezier(.2,.7,.3,1)}
.gd .wrapd{transform:translate(-2px,2px);transition:transform .2s cubic-bezier(.2,.7,.3,1)}
[data-glyph-host]:hover .wrapg,[data-glyph-host]:focus-visible .wrapg{transform:translateX(0)}
[data-glyph-host]:hover .g2,[data-glyph-host]:focus-visible .g2{opacity:1;transform:translateX(0)}
[data-glyph-host]:hover .wrapd,[data-glyph-host]:focus-visible .wrapd{transform:translate(0,0)}
[data-glyph-host]:hover .d2,[data-glyph-host]:focus-visible .d2{opacity:1;transform:translate(0,0)}

.lk4{display:inline-flex;align-items:center;gap:10px;padding:0;border:0;background:none;color:var(--ctl-muted);
  font-size:11px;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:color .16s linear}
.lk4 .scram{text-decoration:underline solid transparent;text-underline-offset:5px;text-decoration-thickness:1px;transition:text-decoration-color .18s linear}
.lk4 .ac{color:var(--ctl-accent)}
.lk4:hover,.lk4:focus-visible{color:var(--ctl-fg)}
.lk4:hover .scram,.lk4:focus-visible .scram{text-decoration-color:currentColor}
.lk4.tert{color:var(--doc-faint)}
.b{position:relative;display:inline-flex;align-items:center;gap:14px;height:44px;padding:0 20px;border:1px solid var(--ctl-line);
  color:var(--ctl-fg);background:transparent;font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.c1{padding:0;transition:border-color .16s linear}
.c1 .lab{display:flex;align-items:center;height:100%;padding:0 18px}
.c1 .cel{display:flex;align-items:center;justify-content:center;width:46px;height:100%;border-left:1px solid var(--ctl-line);color:var(--ctl-accent);
  transition:background .16s linear,color .16s linear,border-color .16s linear}
.c1:hover,.c1:focus-visible{border-color:var(--ctl-accent)}
.c1:hover .cel,.c1:focus-visible .cel{background:var(--ctl-accent);border-left-color:var(--ctl-accent);color:var(--on-accent)}
.scram{white-space:nowrap;font-variant-ligatures:none}

.doc{position:relative;z-index:1;margin-top:-111svh;color:var(--doc-fg);background:var(--doc-bg)}
.shell{width:100%;max-width:var(--shell-max);margin:0 auto;padding-inline:var(--shell-pad)}
.grid{display:grid;grid-template-columns:var(--idx-col) minmax(0,1fr);gap:26px var(--idx-gap)}
.grid>*{min-width:0;grid-column:2}
.grid>.sec__idx{grid-column:1}
.sec{position:relative;padding-block:var(--sec-pad) var(--sec-pad-end)}

:root[data-field="off"] .doc::before{display:none}
.doc::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(circle at 1px 1px,var(--doc-line) 1px,transparent 1.5px) 0 0/24px 24px;
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(50% - 600px),rgba(0,0,0,.22) calc(50% - 500px),rgba(0,0,0,.22) calc(50% + 500px),#000 calc(50% + 600px),#000);
  mask-image:linear-gradient(90deg,#000 0,#000 calc(50% - 600px),rgba(0,0,0,.22) calc(50% - 500px),rgba(0,0,0,.22) calc(50% + 500px),#000 calc(50% + 600px),#000)}
@supports (animation-timeline:scroll()){
  .doc::before{animation:field-drift linear both;animation-timeline:scroll(root)}
}
@keyframes field-drift{from{background-position:0 0}to{background-position:0 -1200px}}
@media (prefers-reduced-motion:reduce){.doc::before{animation:none}}
.sec figure{margin:0}
.sec .grid>div>:last-child{margin-bottom:0}
.sec--alt{background:var(--doc-panel)}
.rail-anchor{grid-column:1;height:0}

.rail{position:fixed;z-index:55;top:var(--rail-top,32px);left:var(--rail-x,var(--pad));display:grid;gap:14px;pointer-events:none;opacity:0;
  animation:rail-in linear both;animation-timeline:--act;animation-range:contain 66% contain 74%}
@keyframes rail-in{from{opacity:0}to{opacity:1}}
.rail__label{display:flex;align-items:baseline;gap:8px;margin:0;color:var(--rail-ink-on);font-size:10px;line-height:1.4;letter-spacing:.2em;
  text-transform:uppercase;white-space:nowrap;transition:color .28s linear}
.rail__label b,.rail__label i{transition:color .28s linear}
.rail__label b{font-weight:400;color:var(--rail-ink)}
.rail__label i{font-style:normal;color:var(--rail-ink)}
.rail__track{position:relative;width:1px;height:240px;margin-left:1px;background:var(--rail-line)}
.rail__track i{position:absolute;left:-2px;width:5px;height:1px;background:var(--rail-ink);opacity:.55;transition:background .2s linear,opacity .2s linear}
.rail__track i:nth-child(2){top:40px}.rail__track i:nth-child(3){top:80px}.rail__track i:nth-child(4){top:120px}
.rail__track i:nth-child(5){top:160px}.rail__track i:nth-child(6){top:200px}.rail__track i:nth-child(7){top:240px}
.rail__track i.on{background:var(--rail-ink-on);opacity:1}
.rail__mk{position:absolute;left:5px;top:-5px;display:block;color:var(--rail-ink-on);fill:currentColor;shape-rendering:crispEdges}
.rail__index{display:none;margin:0;padding:0;list-style:none;gap:10px}
.rail__index li{display:flex;align-items:baseline;gap:0;color:var(--rail-ink);font-size:10px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;
  white-space:nowrap;cursor:pointer;pointer-events:auto;transition:color .2s linear}
.rail__index li span{max-width:0;padding-left:0;overflow:hidden;opacity:0;transition:max-width .3s cubic-bezier(.2,.7,.2,1),padding .3s cubic-bezier(.2,.7,.2,1),opacity .2s linear}
.rail__index li.on{color:var(--rail-ink-on)}
.rail__index li.on span,.rail__index li:hover span{max-width:12ch;padding-left:8px;opacity:1}
.rail__index li:hover{color:var(--rail-ink-on)}
:root[data-rail="head"] .rail__track{display:none}
:root[data-rail="index"] .rail__track,:root[data-rail="index"] .rail__label{display:none}
:root[data-rail="index"] .rail__index{display:grid}

.sec::before,.sheet-end::before{content:"";position:sticky;top:0;z-index:2;display:block;height:var(--veil-h,96px);pointer-events:none;
  margin:calc(var(--sec-pad) * -1) 0 calc(var(--sec-pad) - var(--veil-h,96px));background:linear-gradient(var(--doc-bg) 22%,transparent)}

.sec--dark::before,.sheet-end::before{margin-top:calc(var(--sec-pad) * -1 + var(--sag));margin-bottom:calc(var(--sec-pad) - var(--veil-h,96px) - var(--sag))}
.sec--alt::before{background:linear-gradient(var(--doc-panel) 22%,transparent)}
.sec>.shell{position:relative;z-index:1}
.sec h2{margin:0;font-family:"Steinhart Display",Arial,sans-serif;font-size:clamp(30px,3.4vw,40px);line-height:.95;letter-spacing:-.028em;text-transform:uppercase}
.sec p{max-width:58ch;margin:0 0 18px;color:var(--doc-muted);font-size:14px;line-height:1.75}

.sec--thesis{--sec-pad:20svh;background:transparent}
.sec--thesis .shell{position:relative;z-index:1}
.thesis h2{max-width:none;margin:0 0 clamp(36px,4vw,56px);color:var(--doc-fg);font-family:"Steinhart Display",Arial,sans-serif;
  font-size:clamp(32px,4.2vw,56px);line-height:.98;letter-spacing:-.03em;text-transform:uppercase}
.thesis .say{max-width:620px;margin:0 0 1.15em;color:var(--doc-fg);font-family:"Steinhart",Arial,sans-serif;font-weight:500;
  font-size:clamp(22px,2.2vw,30px);line-height:round(1.32em,1px);letter-spacing:-.012em}
.thesis .say--end{margin-top:1.6em;color:var(--doc-accent)}

.sec .subhead{max-width:none;margin:0 0 .55em;text-wrap:balance;color:var(--doc-fg);font-family:"Steinhart Display",Arial,sans-serif;font-weight:700;
  font-size:clamp(24px,2.6vw,34px);line-height:1.04;letter-spacing:-.026em;text-transform:uppercase}
.thesis .subhead+.say--end{margin-top:0}

:root[data-voice="regular"] .thesis .say{font-weight:400}
:root[data-voice="muted"] .thesis .say{font-weight:400;font-size:clamp(19px,1.8vw,24px);line-height:round(1.42em,1px);color:var(--doc-muted);max-width:560px}
:root[data-voice="mono"] .thesis .say{font-family:"Steinhart Mono",ui-monospace,monospace;font-weight:400;font-size:clamp(14.5px,1.15vw,16.5px);
  line-height:1.72;letter-spacing:0;color:var(--doc-muted);max-width:60ch}
:root[data-voice="muted"] .thesis .say--end,:root[data-voice="mono"] .thesis .say--end{color:var(--doc-accent)}

.grid{--rail-gap:var(--idx-gap);--idx-span:calc(var(--idx-col) + var(--idx-gap))}

.w{display:inline-block}
@supports (animation-timeline:view()){
  .thesis h2{animation:rise linear both;animation-timeline:view();animation-range:entry 0% cover 24%}
  .w{opacity:.16;animation:ink linear both;animation-timeline:view();animation-range:cover 26% cover 40%}
}
@media (prefers-reduced-motion:reduce){.w{opacity:1;animation:none}.thesis h2{animation:none}}

.doc{--ctl-fg:var(--doc-fg);--ctl-muted:var(--doc-muted);--ctl-line:color-mix(in srgb,var(--doc-fg) 22%,transparent);--ctl-accent:var(--doc-accent);--ctl-ground:var(--doc-bg);--on-accent:#fff}
:root[data-ground="carbon"] .doc{--on-accent:#0a0c10}
@keyframes rise{from{opacity:.38;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes ink{to{opacity:1}}
.rows{margin:34px 0 0;padding:0;list-style:none;border-top:1px solid var(--doc-line)}
.rows li{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:18px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--doc-line)}

.rows .n{color:var(--doc-faint);font-size:10px;letter-spacing:.2em;transition:color .16s linear}
.rows li:hover .n,.rows li.on .n{color:var(--doc-accent)}
.rows .t{font-family:"Steinhart Display",Arial,sans-serif;font-size:20px;letter-spacing:-.02em;text-transform:uppercase;color:var(--doc-fg)}
.rows .m{color:var(--doc-faint);font-size:10px;letter-spacing:.18em;text-transform:uppercase}

.sec>.cut{position:absolute;top:0;left:0;right:0;z-index:3;height:0;pointer-events:none;margin:0 auto}
.cut>i{grid-row:1;position:relative;display:block;height:0;border-top:1px solid transparent}
.cut>i:first-child{grid-column:1/-1;border-top-color:var(--doc-line)}
.cut>i:last-child{grid-column:2}

.cut>i::before,.cut>i::after{content:"";position:absolute;top:-3px;width:5px;height:5px;
  background:linear-gradient(var(--doc-mark),var(--doc-mark)) 50% 0/1px 100% no-repeat,
             linear-gradient(var(--doc-mark),var(--doc-mark)) 0 50%/100% 1px no-repeat}
.cut>i::before{left:-2px}
.cut>i::after{right:-2px}

.crule{position:absolute;grid-column:2/3;left:0;right:0;pointer-events:none;border-inline:1px solid var(--doc-hair)}
.crule--top{top:calc(var(--sec-pad) * -1);height:calc(var(--sec-pad) - var(--rule-gap))}
.crule--end{bottom:calc(var(--sec-pad-end) * -1);height:calc(var(--sec-pad-end) - var(--rule-gap))}

@media (max-width:600px){.sec h2 br{display:none}}

.grid>.fig{grid-column:2/-1;margin:14px 0 0;view-timeline-name:--fig;view-timeline-axis:block}
.grid>.fig--col{grid-column:2/3}
.fig>svg{display:block;width:100%;height:auto;overflow:visible}
.fig path,.fig line,.fig circle,.fig rect,.fig polyline,.fig use{vector-effect:non-scaling-stroke}
.fig .geo{fill:none;stroke:var(--doc-geo);stroke-width:1}
.fig .ln{fill:none;stroke:var(--doc-fig-line);stroke-width:1}
.fig .hr{fill:none;stroke:var(--doc-fig-hair);stroke-width:1}
.fig .arw{fill:var(--doc-mark);stroke:none}
.fig .thick{stroke-width:2}
.fig .cl{stroke-dasharray:12 3 2 3}
.fig .hid{stroke-dasharray:4 3}
.fig .rp{stroke-dasharray:2 3}
.fig .ghost{stroke-dasharray:2 2}
.fig .hatch{fill:url(#hatch45);stroke:var(--doc-geo);stroke-width:1}
.fig .tp{fill:none;stroke:var(--doc-accent);stroke-width:1;stroke-linejoin:round;stroke-linecap:butt}
.fig .mk{color:var(--doc-mark)}
.fig .mk--on{color:var(--doc-accent)}
.fig text{font:10px/1 "Steinhart Mono",ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;fill:var(--doc-faint)}
#hatch45 line{stroke:var(--doc-fig-line);stroke-width:1}
@supports (animation-timeline:view()){
  .fig .tp[pathLength]{stroke-dasharray:1;stroke-dashoffset:1;animation:tp-draw linear both;animation-timeline:--fig;animation-range:entry 70% cover 48%}
}
@keyframes tp-draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.fig .tp[pathLength]{animation:none;stroke-dasharray:none;stroke-dashoffset:0}}

.sec p.cap{display:grid;grid-template-columns:max-content 1fr;column-gap:2.4em;max-width:none;margin:2px 0 0;font-size:10px;line-height:1.7;
  letter-spacing:.2em;text-transform:uppercase;color:var(--doc-faint)}
.cap b{font-weight:400;color:var(--doc-muted);white-space:nowrap}

.sec--dark{--doc-bg:#080a0d;--doc-panel:#101318;--doc-fg:#edf0f4;--doc-muted:#9aa3b1;--doc-faint:#79828f;
  --doc-line:#1b1f26;--doc-hair:#13161b;--doc-geo:#3a4250;--doc-fig-line:#262b33;--doc-fig-hair:#1a1e25;
  --doc-accent:#4c8dff;--doc-mark:#79828f;--fig-ground:#080a0d;--ctl-line:rgba(237,240,244,.26);--on-accent:#0a0c10;

  --ctl-fg:var(--doc-fg);--ctl-muted:var(--doc-muted);--ctl-accent:var(--doc-accent);--ctl-ground:var(--doc-bg);
  --sec-pad:calc(var(--arc-h) * .22);--sec-pad-end:230px;color:var(--doc-fg);background:var(--doc-bg)}

:root{--page-bg:#f1f3f6;--arc-h:110svh;--ry-ink:calc(var(--arc-h) * .444);
  --sag:calc(var(--ry-ink) * (1 - var(--arc-k)))}
:root[data-ground="carbon"]{--page-bg:#191c22}
.horizon{position:absolute;left:-20%;right:-20%;height:var(--arc-h);pointer-events:none;z-index:1}
.sec--dark{background:linear-gradient(var(--page-bg) 0 var(--sag),var(--doc-bg) var(--sag))}

.horizon--in{--arc-ink:#080a0d;--arc-lit:#4c8dff;--arc-hot:#8cb6f6;--arc-rim:#ffffff;
  top:calc(var(--ry-ink) - var(--arc-h));background:radial-gradient(var(--arc-w) 100% at 50% 100%,
  var(--arc-ink) 0 34%,
  color-mix(in srgb,var(--arc-lit) 10%,var(--arc-ink)) 39%,
  color-mix(in srgb,var(--arc-lit) 34%,var(--arc-ink)) 41.8%,
  color-mix(in srgb,var(--arc-hot) 72%,var(--arc-ink)) 43.6%,
  var(--arc-rim) 44.2% 44.35%,rgba(255,255,255,0) 44.55%)}

.sheet-end .horizon--in{--arc-ink:var(--doc-bg);--arc-lit:#5c97ff;--arc-hot:#7896c8;--arc-rim:#cfe0ff}

.horizon--glow{z-index:3;background:radial-gradient(var(--arc-w) 100% at 50% 100%,
  transparent 0 33%,
  color-mix(in srgb,var(--arc-lit) 10%,var(--arc-ink)) 39%,
  color-mix(in srgb,var(--arc-lit) 34%,var(--arc-ink)) 41.8%,
  color-mix(in srgb,var(--arc-hot) 72%,var(--arc-ink)) 43.7%,
  var(--arc-rim) 44.2% 44.35%,rgba(255,255,255,0) 44.55%)}
#systems{--sec-pad-end:150px}
#join{--sec-pad-end:150px}

.horizon--out{bottom:calc(var(--sag) - var(--ry-ink));background:radial-gradient(var(--arc-w) 100% at 50% 100%,
  #f1f3f6 0 44.4%,#ffffff 45.4%,rgba(214,227,247,.96) 46.6%,rgba(140,182,246,.66) 48.8%,rgba(76,141,255,.28) 52.4%,rgba(76,141,255,0) 56.5%)}
:root[data-ground="carbon"] .horizon--out{background:radial-gradient(var(--arc-w) 100% at 50% 100%,
  #191c22 0 44.4%,#cfe0ff 45.4%,rgba(120,150,200,.6) 46.6%,rgba(92,151,255,.52) 48.8%,rgba(76,141,255,.24) 52.4%,rgba(76,141,255,0) 56.5%)}

.gridtex{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(rgba(237,240,244,.045) 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,rgba(237,240,244,.045) 1px,transparent 1px) 0 0/48px 48px;
  -webkit-mask-image:radial-gradient(52% 34% at 50% 26%,#000 0,rgba(0,0,0,.5) 42%,transparent 70%);mask-image:radial-gradient(52% 34% at 50% 26%,#000 0,rgba(0,0,0,.5) 42%,transparent 70%)}

.field{position:absolute;top:var(--sag);left:0;width:100%;height:calc(100% - var(--sag) * 2);pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(50% - 640px),rgba(0,0,0,.28) calc(50% - 520px),rgba(0,0,0,.28) calc(50% + 520px),#000 calc(50% + 640px),#000),linear-gradient(#000 0,#000 60px,#000 calc(100% - 140px),transparent);
  mask-image:linear-gradient(90deg,#000 0,#000 calc(50% - 640px),rgba(0,0,0,.28) calc(50% - 520px),rgba(0,0,0,.28) calc(50% + 520px),#000 calc(50% + 640px),#000),linear-gradient(#000 0,#000 60px,#000 calc(100% - 140px),transparent);
  -webkit-mask-composite:source-in;mask-composite:intersect}
.sec--dark>.shell{position:relative;z-index:1}

.sec--dark .crule--top,.sec--dark .crule--end{display:none}

.rail{--rail-ink:#8d95a1;--rail-ink-on:#464d58;--rail-line:#d6dae1;transition:color .3s linear}
.rail.on-dark{--doc-accent:#4c8dff;--doc-faint:#79828f;--doc-line:#1b1f26;--doc-fg:#edf0f4;--doc-muted:#9aa3b1;
  --rail-ink:#7b8492;--rail-ink-on:#e2e7ed;--rail-line:#252b34}
.chrome.on-dark[data-surface="graphite"] .panel{--nav-panel:rgba(31,35,42,.95);--nav-line:rgba(237,240,244,.16)}

.claims{list-style:none;margin:0;padding:0;display:grid;gap:.42em}
.claims li{display:flex;align-items:flex-start;gap:14px;max-width:560px;color:var(--doc-muted);
  font-family:"Steinhart",Arial,sans-serif;font-weight:400;
  font-size:clamp(19px,1.8vw,24px);line-height:round(1.42em,1px);letter-spacing:-.012em}

.sec .say+.claims,.sec .claims+.say,.sec .claims+.claims{margin-top:1.15em}
.sec p+.claims,.sec .claims+p{margin-top:clamp(24px,2.4vw,32px)}
.sec .claims+.subhead,.sec .subhead+.claims{margin-top:clamp(28px,2.8vw,38px)}

.claims .chev{flex:none;width:.375em;height:.625em;margin-top:.36em;color:var(--doc-accent);fill:currentColor;shape-rendering:crispEdges}

[data-tray="lean"] .nav__idx,[data-tray="core"] .nav__idx{display:none}
[data-tray="lean"] .nav__item,[data-tray="core"] .nav__item{gap:0}
[data-tray="lean"] .nav--hero,[data-tray="core"] .nav--hero{gap:clamp(18px,2.4vw,34px)}
[data-tray="lean"] .nav--doc .nav__item,[data-tray="core"] .nav--doc .nav__item{padding:9px 12px}
[data-tray="lean"][data-nav="cells"] .nav--doc .nav__item,[data-tray="core"][data-nav="cells"] .nav--doc .nav__item{padding:0 14px}
[data-tray="core"] .nav__item[data-go="systems"],[data-tray="core"] .nav__item[data-go="vision"]{display:none}

.objects,.fig--v{display:none}

.sec--thesis .grid>.fig--v{view-timeline-name:--figv}

@media (hover:none){
  .rows li:active .n,.rows li:active .t,.rows li:active .t a{color:var(--doc-accent)}
  [data-glyph-host]:active .wrapg{transform:translateX(0)}
  [data-glyph-host]:active .g2{opacity:1;transform:translateX(0)}
  [data-glyph-host]:active .wrapd{transform:translate(0,0)}
  [data-glyph-host]:active .d2{opacity:1;transform:translate(0,0)}
  .c1:active{border-color:var(--ctl-accent)}
  .c1:active .cel{background:var(--ctl-accent);border-left-color:var(--ctl-accent);color:var(--on-accent)}
  .lk4:active{color:var(--ctl-fg)}
  .msheet__ix button:active span{color:#4c8dff}
}

@media (max-width:1399px){
  .nav__idx{display:none}
  .nav__item{gap:0}
  .nav--hero{gap:clamp(14px,2vw,26px)}
  .nav--doc .nav__item{padding:9px 11px}
  [data-nav="cells"] .nav--doc .nav__item{padding:0 12px}
  [data-nav="block"] .nav--doc .nav__item{padding:0 12px}
}
@media (max-width:1100px){.hero__copy{width:60vw}.hero__copy h1{font-size:clamp(52px,6vw,78px)}}

.rail__label{border:0;background:none;padding:0;cursor:default;font-family:inherit;pointer-events:none}
.rail__menu{display:none}

[data-state="doc"] .brand{pointer-events:none}
[data-state="doc"] .brand__mark{pointer-events:auto}

.msheet{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;padding:16px 20px 28px;color:#edf0f4;
  background:linear-gradient(rgba(14,17,22,.86),rgba(14,17,22,.96) 70%),var(--plate) 50% 40%/cover no-repeat;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s linear,transform .26s cubic-bezier(.2,.7,.2,1),visibility 0s .26s}
.msheet.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .22s linear,transform .26s cubic-bezier(.2,.7,.2,1),visibility 0s}
.msheet__bar{display:flex;justify-content:space-between;align-items:center;height:36px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(237,240,244,.7)}
.msheet__brand{display:flex;align-items:center;gap:10px;color:#edf0f4;font-family:"Zebulon","Steinhart Display",Arial,sans-serif;font-size:15px;letter-spacing:.012em;text-transform:none}
.msheet__brand svg{fill:currentColor}
.msheet__close{border:1px solid rgba(237,240,244,.24);background:none;color:inherit;font:inherit;letter-spacing:.2em;text-transform:uppercase;padding:8px 12px;cursor:pointer}
.msheet__ix{list-style:none;margin:auto 0;padding:0;border-top:1px solid rgba(237,240,244,.13)}
.msheet__ix li{border-bottom:1px solid rgba(237,240,244,.13)}
.msheet__ix button{display:grid;grid-template-columns:34px 1fr;gap:2px 12px;width:100%;padding:16px 0;border:0;background:none;color:#edf0f4;text-align:left;cursor:pointer;font:inherit}
.msheet__ix b{grid-row:1/3;font-weight:400;color:#4c8dff;font-size:10px;letter-spacing:.2em;padding-top:6px}
.msheet__ix span{font-family:"Steinhart Display",Arial,sans-serif;font-weight:700;font-size:26px;line-height:1;letter-spacing:-.028em;text-transform:uppercase}
.msheet__ix em{font-style:normal;color:rgba(237,240,244,.55);font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.msheet__foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin:24px 0 0;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(237,240,244,.55)}
.msheet__foot>*{white-space:nowrap}
.msheet__foot a{color:#edf0f4;text-decoration:none}
html.sheet-open{overflow:hidden}

@media (prefers-reduced-motion:reduce){
  .act__hero>*,.act__intro>*,[data-act]{animation:none!important;opacity:1!important;transform:none!important}

  .act__flat,.wash__fill,.wash__edge,.act__bloom{opacity:0!important}
  .act__plate{transform:scale(1.4286)!important}
}

.sec--thesis .grid{row-gap:0;timeline-scope:--fig}
.grid>.thesis{grid-column:2/-1}

.sec--thesis .grid>.fig{grid-column:1/-1;position:relative;margin-top:clamp(48px,5vw,72px)}
.fig__plate{position:relative;height:104px}
.fig__wall{position:absolute;left:0;right:0;height:1px;background:var(--doc-geo);transform-origin:0 50%}
.fig__wall--top{top:20px}
.fig__wall--bot{top:71px}

.fig__cl{position:absolute;z-index:1;left:0;right:0;top:46px;height:1px;transform-origin:0 50%;
  background:repeating-linear-gradient(90deg,var(--doc-fig-line) 0 12px,transparent 12px 15px,var(--doc-fig-line) 15px 17px,transparent 17px 20px)}
.fig__tick{position:absolute;top:12px;width:1px;height:68px;background:var(--doc-geo);transform-origin:50% 0}
.fig__tick:nth-of-type(1){left:0}
.fig__tick:nth-of-type(2){left:var(--idx-span)}
.fig__tick:nth-of-type(3){left:50%}
.fig__tick:nth-of-type(4){left:calc(100% - var(--idx-span))}
.fig__tick:nth-of-type(5){left:calc(100% - 1px)}
.sec .fig__st{position:absolute;top:88px;margin:0;padding-left:.2em;text-align:center;color:var(--doc-fg);font-size:10px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.fig__st span{display:inline-block;opacity:.5}
.fig__st:nth-of-type(4) span{opacity:1}
.fig__st b{font-weight:400;margin-right:8px}
.fig__st:nth-of-type(1){left:0;width:var(--idx-span)}
.fig__st:nth-of-type(2){left:var(--idx-span);width:calc(50% - var(--idx-span))}
.fig__st:nth-of-type(3){left:50%;width:calc(50% - var(--idx-span))}
.fig__st:nth-of-type(4){left:calc(100% - var(--idx-span));width:var(--idx-span)}

.throat{position:absolute;top:14px;left:calc(var(--idx-span) / 2 - 80px);width:160px;height:64px}
.throat svg{display:block;width:160px;height:64px;overflow:visible}
.sec .throat__lab{position:absolute;left:0;right:0;top:-24px;margin:0;text-align:center;font-size:10px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.throat--phantom path{stroke-dasharray:10 3 2 3 2 3}
.throat--phantom .throat__lab{color:var(--doc-faint)}
.carrier{position:absolute;top:0;left:0;width:calc(100% - var(--idx-span));height:104px;transform:translateX(100%)}
.throat--live rect{fill:var(--fig-ground)}
.throat--live .throat__lab{color:var(--doc-accent)}
.fig .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.sec--thesis .grid>p.cap{grid-column:1/-1;grid-template-columns:140px minmax(0,1fr) auto;column-gap:48px;margin-top:28px}
.sec--thesis .grid>.thesis--end{grid-column:2/-1}
.thesis--end{margin-top:clamp(76px,7.8vw,112px)}
:root[data-voice] .thesis--end .say{margin:0;max-width:none}

@supports (animation-timeline:view()){
  .fig__wall{animation:draw-x linear both;animation-timeline:--fig;animation-range:cover 6% cover 22%}
  .fig__cl{animation:draw-x linear both;animation-timeline:--fig;animation-range:cover 8% cover 24%}
  .fig__tick{animation:draw-y linear both;animation-timeline:--fig}
  .fig__st{animation:appear linear both;animation-timeline:--fig}
  .fig__tick:nth-of-type(1),.fig__st:nth-of-type(1){animation-range:cover 8% cover 12%}
  .fig__tick:nth-of-type(2),.fig__st:nth-of-type(2){animation-range:cover 11% cover 15%}
  .fig__tick:nth-of-type(3),.fig__st:nth-of-type(3){animation-range:cover 15% cover 19%}
  .fig__tick:nth-of-type(4),.fig__st:nth-of-type(4){animation-range:cover 19% cover 23%}
  .fig__tick:nth-of-type(5){animation-range:cover 22% cover 26%}
  .throat--phantom{animation:appear linear both;animation-timeline:--fig;animation-range:cover 24% cover 28%}
  .throat--live{animation:appear linear both;animation-timeline:--fig;animation-range:cover 26% cover 30%}
  .carrier{animation:travel linear both;animation-timeline:--fig;animation-range:cover 30% cover 56%}
  .throat--phantom .throat__lab{animation:appear linear both;animation-timeline:--fig;animation-range:cover 32% cover 36%}
  .throat--live .throat__lab{animation:appear linear both;animation-timeline:--fig;animation-range:cover 38% cover 44%}
  .sec--thesis .grid>p.cap{grid-template-columns:1fr;animation:appear linear both;animation-timeline:view();animation-range:cover 12% cover 30%}

  .fig__st span{animation-timeline:--fig;animation-timing-function:linear;animation-fill-mode:both}
  .fig__st:nth-of-type(1) span{animation-name:leave;animation-range:cover 32% cover 34%}
  .fig__st:nth-of-type(2) span{animation-name:pass;animation-range:cover 32% cover 44%}
  .fig__st:nth-of-type(3) span{animation-name:pass;animation-range:cover 42% cover 54%}
  .fig__st:nth-of-type(4) span{animation-name:arrive;animation-range:cover 52% cover 55%}
}
@keyframes leave{from{opacity:1}to{opacity:.5}}
@keyframes arrive{from{opacity:.5}to{opacity:1}}
@keyframes pass{0%{opacity:.5}14%{opacity:1}86%{opacity:1}100%{opacity:.5}}
@keyframes draw-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes draw-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes appear{from{opacity:0}to{opacity:1}}
@keyframes travel{from{transform:translateX(0)}to{transform:translateX(100%)}}
@keyframes travel-y{from{transform:translateY(0)}to{transform:translateY(100%)}}
@media (prefers-reduced-motion:reduce){
  .fig__wall,.fig__cl,.fig__tick,.fig__st,.fig__st span,.throat--phantom,.throat--live,.carrier,.throat .throat__lab,.sec--thesis .grid>p.cap{animation:none}
}

.infra h2{margin-bottom:clamp(30px,3.2vw,44px)}
.infra .copy p:last-child{margin-bottom:0}

.infra .grid>.fig{grid-column:1/-1;position:relative;margin:clamp(50px,4.6vw,70px) 0 0}
.desc{--sp:var(--idx-span);--bh:210px;--ink-mat:var(--doc-fg);padding-top:56px}

:root[data-ground="carbon"] .desc{--ink-mat:#c3c6ca}
.desc .sr{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.desc>.dwg{position:absolute;z-index:0;top:0;left:0;width:100%;height:698px;overflow:visible;pointer-events:none}

.desc .band{position:relative;z-index:1;display:grid;grid-template-columns:220px minmax(0,400px) 340px;
  column-gap:38px;height:var(--bh)}
.desc .band--foot{height:222px}
.desc .band>*{min-width:0}

.desc .nm{width:auto;margin:0;padding:30px 0 0 34px;color:var(--doc-fg);
  font-size:14px;line-height:20px;letter-spacing:.2em;text-transform:uppercase}

.desc .steps{margin:0;padding:16px 0 0 34px;list-style:none}
.desc .steps li{display:flex;gap:14px;height:32px;color:var(--doc-fg);font-size:10px;line-height:1.4;
  letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.desc .steps b{font-weight:400;color:var(--doc-faint)}

.desc .note{max-width:none;margin:0;padding:30px 0 0;color:var(--doc-muted);font-size:14px;line-height:1.75}

.desc .term{position:absolute;z-index:1;left:34px;margin:0;max-width:none;color:var(--doc-fg);font-size:10px;line-height:1.4;
  letter-spacing:.2em;text-transform:uppercase}
.desc .term--top{top:17px}
.desc .term--foot{top:652px}

.desc .xing{position:absolute;z-index:2;top:469.5px;left:258px;margin:0;max-width:none;padding:0;
  color:var(--doc-fg);font-size:10px;line-height:1.4;letter-spacing:.2em;
  text-transform:uppercase;white-space:nowrap}

.dwg .rule{fill:none;stroke:var(--doc-line);stroke-width:1}
.dwg .cross{stroke:var(--doc-geo)}
.dwg .dat{fill:none;stroke:var(--doc-geo);stroke-width:1}
.dwg .mat{fill:none;stroke:var(--ink-mat);stroke-width:2}
.dwg .gnd{fill:url(#gnd45);stroke:none}

#gnd45 line{stroke:var(--doc-geo);stroke-width:1}
:root[data-ground="carbon"] #gnd45 line{stroke:var(--doc-fig-line)}

.desc .pm{display:none}
.dwg .plab{fill:var(--doc-faint);font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.dwg .cp{fill:var(--doc-mark);stroke:none}
.dwg .stk{fill:none;stroke:var(--doc-geo);stroke-width:1}
:root[data-ground="carbon"] .dwg .stk{stroke:var(--doc-fig-line)}
.dwg .tp{fill:none;stroke:var(--doc-geo);stroke-width:1}
.dwg .tpd{fill:var(--doc-geo);stroke:none}
.dwg .dim{fill:none;stroke:var(--doc-mark);stroke-width:1}
.dwg .arw{fill:var(--doc-mark);stroke:none}
.dwg .dimt{fill:var(--doc-mark);font-size:10px;letter-spacing:.14em}
.dwg .ret{fill:none;stroke:var(--doc-accent);stroke-width:1;shape-rendering:crispEdges}
.dwg .retf{fill:var(--doc-accent);stroke:none}
.dwg .retlab{fill:var(--doc-accent);font-size:10px;letter-spacing:.2em;text-transform:uppercase}

.dwg .wit{fill:none;stroke:var(--doc-mark);stroke-width:1;shape-rendering:crispEdges}

.dwg .pt{fill:none;stroke:var(--fig-ground);stroke-width:1.4;stroke-dasharray:3 4;stroke-dashoffset:3}
.dwg .pt-stk{stroke-dasharray:0 12 3 2 3;stroke-dashoffset:0}
.dwg .pt-tp{stroke-dasharray:0 2 3;stroke-dashoffset:0}
.dwg .dr{stroke-dasharray:1;stroke-dashoffset:0}
.dwg .mk{color:var(--doc-mark)}

.desc .key{display:grid;grid-template-columns:auto auto auto;justify-content:space-between;column-gap:38px;row-gap:9px;margin:30px 0 0;padding:0;list-style:none;
  font-size:10px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;color:var(--doc-faint);white-space:nowrap}
.desc .key li{display:flex;align-items:center;gap:12px}
.desc .key svg{display:block;flex:none;width:26px;height:6px;overflow:visible}
.desc .key b{font-weight:400;color:var(--doc-muted)}
.desc .k1{fill:none;stroke:var(--doc-geo);stroke-width:1;stroke-dasharray:4 3}
.desc .k2{fill:none;stroke:var(--ink-mat);stroke-width:2}
.desc .k3{fill:none;stroke:var(--doc-accent);stroke-width:1}

.infra .fig>p.cap{grid-template-columns:140px minmax(0,1fr) auto;column-gap:48px;margin:28px 0 0}
@media (max-width:900px){.infra .fig>p.cap{grid-template-columns:1fr}}
.infra .cap .r{text-align:right}

.infra .say{margin:clamp(88px,7.6vw,112px) 0 0;max-width:none;color:var(--doc-muted);
  font-family:"Steinhart",Arial,sans-serif;font-weight:400;font-size:clamp(19px,1.8vw,24px);
  line-height:round(1.42em,1px);letter-spacing:-.012em}
.infra .say .ln{display:block}

.infra h2{line-height:1.03}
.infra .say--open{margin:0 0 1.15em;max-width:620px;color:var(--doc-fg)}
.infra .say--open:last-child{margin-bottom:0}
:root[data-voice="muted"] .infra .say--open{color:var(--doc-muted);max-width:560px}
:root[data-voice="mono"] .infra .say--open{font-family:"Steinhart Mono",ui-monospace,monospace;
  font-size:clamp(14.5px,1.15vw,16.5px);line-height:1.72;letter-spacing:0;color:var(--doc-muted);max-width:60ch}

@supports (animation-timeline:view()){
  .dwg .dr{animation:d-draw linear both;animation-timeline:--fig;animation-range:cover var(--a) cover var(--b)}
  .dwg .tp[pathLength]{stroke-dashoffset:0;animation:d-draw linear both;animation-timeline:--fig;animation-range:cover var(--a) cover var(--b)}
  .dwg .ap,.desc .term,.desc .xing{animation:d-appear linear both;animation-timeline:--fig;animation-range:cover var(--a) cover var(--b)}
  .desc .nm,.desc .note,.desc .steps li,.desc .key,.infra .fig>p.cap{animation:d-ink linear both;animation-timeline:--fig;animation-range:cover var(--a) cover var(--b)}
}
@keyframes d-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes d-appear{from{opacity:0}to{opacity:1}}
@keyframes d-ink{from{opacity:.16}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .dwg .dr,.dwg .ap,.desc .term,.desc .xing,.desc .nm,.desc .note,.desc .steps li,.desc .key,.infra .fig>p.cap{animation:none}
  .dwg .tp[pathLength]{animation:none;stroke-dashoffset:0}
}

.desc .sh,.desc .rt,.desc .rt-leg,.desc .rt-in{display:none}

@media (max-width:1151px){
  .desc{--sp:0px;padding-top:0}
  .desc>.dwg{display:none}
  .desc .pm{display:block;width:min(264px,calc(100% - 60px));height:auto;margin:24px 40px 2px 20px;overflow:visible}

  .desc .pm *{vector-effect:none}
  .desc .sh,.desc .rt,.desc .rt-leg,.desc .rt-in{display:block}
  .desc .band{display:block;height:auto;padding:0 0 30px}
  .desc .band--foot{height:auto;padding-bottom:2px}
  .desc .mid{display:block}

  .desc .nm{width:auto;padding:26px 40px 0 20px}
  .desc .note{max-width:520px;padding:16px 40px 0 20px}
  .desc .steps{position:relative;z-index:2;padding:18px 0 0 20px}
  .desc .steps li{position:relative}

  .desc .band::before{content:"";position:absolute;z-index:1;top:0;left:-8px;right:-8px;height:1px;
    background:var(--doc-line);transform-origin:0 50%}
  .desc .band:not(.band--head):not(.band--foot)::after{bottom:-7px}
  .desc .band--foot::after{top:-7px}
  .desc .band::after{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:0;width:1px;
    background:repeating-linear-gradient(var(--doc-geo) 0 4px,transparent 4px 7px)}
  .desc .band--foot::before{display:none}
  .desc .band--foot::after{width:2px;background:var(--ink-mat)}
  .desc .sh{position:absolute;z-index:0;top:0;bottom:0;left:0;width:2px;background:var(--fig-ground);transform-origin:50% 100%;transform:scaleY(0)}

  .desc .rt{position:absolute;z-index:1;top:3px;bottom:3px;right:24px;width:1px;background:var(--doc-accent);transform-origin:50% 100%}
  .desc .band--foot .rt{top:-4px;bottom:-8px}
  .desc .band:not(.band--head):not(.band--foot) .rt{bottom:-4px}
  .desc .rt--head{top:70.5px}
  .desc .rt-in{position:absolute;top:6.5px;left:120px;right:24px;height:1px;background:var(--doc-accent);transform-origin:100% 50%}
  .desc .rt-in::before{content:"";position:absolute;left:-8px;top:-1px;
    border-top:1.5px solid transparent;border-bottom:1.5px solid transparent;border-right:8px solid var(--doc-accent)}
  .desc .rt-leg{position:absolute;top:0;left:0;right:16px;height:1px;background:var(--doc-accent);transform-origin:0 50%}

  .desc .steps li::before,.desc .term::after{content:"";position:absolute;left:-2px;width:5px;height:5px;color:var(--doc-mark);
    background:linear-gradient(currentColor,currentColor) 50% 0/1px 100% no-repeat,
               linear-gradient(currentColor,currentColor) 0 50%/100% 1px no-repeat}
  .desc .steps li::before{left:-22px;top:4.5px}

  .desc .band--foot .steps li::before{left:-13px;top:6.5px;width:9px;height:1px;background:var(--doc-mark)}

  .desc .term{position:relative;top:auto;left:auto;padding:0 0 0 51.6px}
  .desc .term--foot::before{content:"";position:absolute;left:0;width:1px;transform-origin:50% 0}
  .desc .term--top{padding-bottom:30px}

  .desc .band--head::after,.desc .band--head .sh{top:-37px}
  .desc .term--top::after{top:4.5px}
  .desc .term--foot{padding-top:30px}
  .desc .term--foot::before{top:-2px;height:39px;width:2px;background:var(--ink-mat)}
  .desc .term--foot::after{top:34.5px}

  .desc .xing{position:static;display:flex;align-items:center;gap:9px;margin:0 -8px;padding:0;background:none}

  .desc .xing::before,.desc .xing::after{content:"";position:relative;top:4.5px;height:9px;transform-origin:0 50%;
    background:linear-gradient(var(--doc-geo),var(--doc-geo)) 0 0/100% 1px no-repeat,
               repeating-linear-gradient(45deg,var(--doc-geo) 0 1px,transparent 1px 9px) 0 1px/100% 8px no-repeat}
  :root[data-ground="carbon"] .desc .xing::before,:root[data-ground="carbon"] .desc .xing::after{
    background:linear-gradient(var(--doc-geo),var(--doc-geo)) 0 0/100% 1px no-repeat,
               repeating-linear-gradient(45deg,var(--doc-fig-line) 0 1px,transparent 1px 9px) 0 1px/100% 8px no-repeat}
  .desc .xing::before{flex:none;width:28px}
  .desc .xing::after{flex:1}
  .desc .key{display:flex;flex-wrap:wrap;gap:9px 30px;margin-top:26px}
  @supports (animation-timeline:view()){
    .desc .band::before{animation:d-drawx linear both;animation-timeline:--fig;animation-range:cover var(--ra) cover var(--rb)}
    .desc .sh{animation:d-shut linear both;animation-timeline:--fig;animation-range:cover var(--sa) cover var(--sb)}
    .desc .rt,.desc .rt-in{animation:d-climb linear both;animation-timeline:--fig;animation-range:cover var(--ca) cover var(--cb)}
    .desc .rt-in{animation-name:d-drawx}
    .desc .xing::before,.desc .xing::after{animation:d-drawx linear both;animation-timeline:--fig;animation-range:cover var(--ra) cover var(--rb)}
    .desc .rt-leg{animation:d-drawx linear both;animation-timeline:--fig;animation-range:cover 74% cover 76%}
    .desc .term--foot::before{animation:d-drawy linear both;animation-timeline:--fig;animation-range:cover 79% cover 81%}
    .desc .steps li::before,.desc .term::after{animation:d-appear linear both;animation-timeline:--fig;animation-range:cover var(--ma,15%) cover var(--mb,19%)}
    .desc .term,.desc .xing,.desc .nm,.desc .note,.desc .steps li,.desc .key,
    .infra .fig>p.cap{animation-range:cover var(--ma) cover var(--mb)}
  }
  @media (prefers-reduced-motion:reduce){
    .desc .band::before,.desc .sh,.desc .rt,.desc .rt-in,.desc .rt-leg,.desc .term--foot::before,
    .desc .xing::before,.desc .xing::after,.desc .steps li::before,.desc .term::after{animation:none}
  }
}
@media (max-width:900px){
  .infra .fig>p.cap{grid-template-columns:1fr;column-gap:0}
  .infra .cap .r{text-align:left}
}
@keyframes d-drawx{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes d-drawy{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes d-climb{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes d-shut{from{transform:scaleY(1)}to{transform:scaleY(0)}}

.pro .grid{row-gap:0}
.pro h2{margin:0 0 clamp(30px,3.2vw,44px)}

.pro__head{grid-column:2/-1;margin-bottom:clamp(52px,5.6vw,76px)}
.pro .say{max-width:560px;margin:0;font-family:"Steinhart",Arial,sans-serif;font-weight:400;
  font-size:clamp(19px,1.8vw,24px);line-height:round(1.42em,1px);letter-spacing:-.012em;color:var(--doc-muted)}

.pro .sheets{grid-column:1/-1;position:relative;left:50%;width:100vw;transform:translateX(-50%);
  display:grid;grid-template-columns:1fr 1fr;
  margin-top:clamp(40px,4.4vw,60px);border-block:1px solid var(--doc-line)}
.pro .sheets>.entry+.entry{border-left:1px solid var(--doc-line)}

.sheets__mk{position:absolute;z-index:2;left:50%;width:5px;height:5px;margin-left:-2px;pointer-events:none;
  background:linear-gradient(var(--doc-mark),var(--doc-mark)) 50% 0/1px 100% no-repeat,
             linear-gradient(var(--doc-mark),var(--doc-mark)) 0 50%/100% 1px no-repeat}
.sheets__mk--top{top:-3px}
.sheets__mk--foot{bottom:-3px}

@media (max-width:1040px){
  .pro .sheets{grid-template-columns:1fr}
  .pro .sheets>.entry+.entry{border-left:0;border-top:1px solid var(--doc-line)}
  .sheets__mk{display:none}
  .pro .sheets>.entry>.fig{margin-top:0}
}

.entry{position:relative;min-width:0;row-gap:0;display:flex;flex-direction:column;align-items:flex-start;

  padding:clamp(44px,4.2vw,60px) clamp(28px,4.6vw,66px) clamp(48px,4.6vw,64px);border-top:0}
.entry>*{min-width:0;max-width:100%}

.entry .entry__copy>*{min-width:0;max-width:100%}
.pro .entry>.entry__copy{max-width:none}

.pro .entry>.fig{width:min(360px,100%);margin:clamp(30px,3.4vw,46px) 0 0;align-self:flex-start}
.pro .sheets>.entry>.fig{margin-top:auto;padding-top:clamp(30px,3.4vw,46px)}
.pro .entry .entry__acts{order:2;margin-top:clamp(28px,3vw,40px)}
.pro .entry__copy{display:contents}

.pro .entry__lab{display:flex;align-items:baseline;gap:8px;margin:0 0 24px;color:var(--doc-faint);font-size:10px;line-height:1.4;
  letter-spacing:.2em;text-transform:uppercase}
.pro .entry__lab b{font-weight:400;color:var(--doc-faint)}
.pro .entry__lab i{font-style:normal}
.pro .entry__lab span{color:var(--doc-muted)}

.chip{--chip:var(--doc-faint);display:inline-flex;align-items:center;height:18px;padding:0 7px;
  margin-left:24px;border:1px solid currentColor;color:var(--chip);font-style:normal;
  font-size:9.5px;line-height:1;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.chip--dev{--chip:#b26a12}
.chip--early{--chip:#26794c}
.chip--live{--chip:var(--doc-accent)}
:root[data-ground="carbon"] .chip--dev,.sec--dark .chip--dev{--chip:#e0a44a}
:root[data-ground="carbon"] .chip--early,.sec--dark .chip--early{--chip:#5fbd88}
.pro .entry__lab em{margin-left:24px;font-style:normal;color:var(--doc-faint)}
.pro .entry__lab em.chip{color:var(--chip)}

.pro .entry__name{margin:0 0 14px;font-family:"Steinhart Display",Arial,sans-serif;font-weight:700;font-size:clamp(24px,2.6vw,34px);line-height:1;
  letter-spacing:-.02em;text-transform:uppercase;color:var(--doc-fg)}

.pro .entry__copy p{max-width:min(58ch,100%)}

.pro .entry__tag{margin:0 0 20px;max-width:none;color:var(--doc-faint);font-size:10px;   line-height:1.4;letter-spacing:.2em;text-transform:uppercase}

.b.c1.is-off{border-color:var(--doc-hair);color:var(--doc-faint);cursor:default;pointer-events:none}
.b.c1.is-off .cel{border-left-color:var(--doc-hair);color:var(--doc-faint);background:none}
.pro .entry__meta{margin:-6px 0 20px;color:var(--doc-faint);font-size:10px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase}
.pro .entry__acts{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;margin-top:6px}

.pro .fig{view-timeline-name:--fig;view-timeline-axis:block}
.pro .fig .mid{fill:var(--doc-muted)}
.pro .fig .acc{stroke:var(--doc-accent)}
.pro .fig .accf,.pro .fig text.accf{fill:var(--doc-accent)}
.pro .fig .node{fill:var(--fig-ground);stroke:var(--doc-geo);stroke-width:1}
.pro .fig .px{fill:var(--doc-geo);shape-rendering:crispEdges}

.pro .fig .ob{fill:none;stroke:var(--doc-fg);stroke-width:2}
:root[data-ground="carbon"] .pro .fig .ob{stroke:#c3c6ca}
.pro .fig--2 .msg{fill:none;stroke:var(--doc-mark);stroke-width:1}
.pro .fig--2 .acc{fill:none;stroke-width:1}
.pro .fig--2 .hatch{fill:url(#hatch45k);stroke:var(--doc-mark)}
#hatch45k line{stroke:var(--doc-mark);stroke-width:1}
.pro .fig--1 .geo{stroke:var(--doc-mark)}
.pro .fig--1 .ext{fill:none;stroke:var(--doc-mark);stroke-width:1}
.pro .fig--1 .hid{stroke:var(--doc-geo)}
.pro .fig [data-x],.pro .fig [data-y]{transform-box:fill-box}
.pro .fig [data-x]{transform-origin:0 0}
.pro .fig [data-x="r"]{transform-origin:100% 0}
.pro .fig [data-y]{transform-origin:0 0}
.pro .fig [data-y="b"]{transform-origin:0 100%}

@supports (animation-timeline:view()){
  .pro h2{animation:rise linear both;animation-timeline:view();animation-range:entry 0% cover 22%}
  .pro .fig [data-d]{animation:fig-in linear both;animation-timeline:--fig;animation-range:cover var(--a) cover var(--b)}
  .pro .fig [data-x]{animation:draw-x linear both;animation-timeline:--fig;animation-range:cover var(--a) cover var(--b)}
  .pro .fig [data-y]{animation:draw-y linear both;animation-timeline:--fig;animation-range:cover var(--a) cover var(--b)}
}
@keyframes fig-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .pro h2,.pro .fig [data-d],.pro .fig [data-x],.pro .fig [data-y]{animation:none;opacity:1;transform:none}
}

@media (max-width:1151px){
  .pro .entry>.fig{width:min(320px,100%)}
  .pro .fig--1 text,.pro .fig--2 text{font-size:11.25px}
}
@media (max-width:900px){
  .entry{grid-column:1}
}

.production h2{margin-bottom:clamp(30px,3.2vw,44px)}
.production .say{max-width:560px;   margin:0 0 30px;color:var(--doc-muted);font-family:"Steinhart",Arial,sans-serif;font-weight:400;
  font-size:clamp(19px,1.8vw,24px);line-height:round(1.42em,1px);letter-spacing:-.012em}

.production .grid>.fig{grid-column:1/-1;margin:clamp(40px,4.2vw,58px) 0 clamp(34px,3.6vw,50px)}
.production .fig line{stroke-linecap:butt;shape-rendering:crispEdges}
.production .fig text{text-transform:uppercase}

.production .fig text.cp{letter-spacing:.2em}
.production .fig text.v,.production .fig text.k{fill:var(--doc-fg)}
.production .fig text.k{letter-spacing:.14em}
.production .fig .k .n{fill:var(--doc-faint);transition:fill .16s linear}
.production .fig text.z{fill:var(--doc-accent)}

.production .fig .edge{transform-box:fill-box;transition:stroke .16s linear}
.production .fig .edge.left{transform-origin:50% 100%}
.production .fig .edge.top{transform-origin:0 50%}
.production .fig .edge.right{transform-origin:50% 0}
.production .fig .edge.bottom{transform-origin:100% 50%}

.production:has(.spec .r1:hover) .fig .wj,.production:has(.spec .r2:hover) .fig .ml,.production:has(.spec .r3:hover) .fig .la{stroke:var(--doc-fg)}
.production:has(.spec .r1:hover) .fig .t1 .n,.production:has(.spec .r2:hover) .fig .t2 .n,.production:has(.spec .r3:hover) .fig .t3 .n{fill:var(--doc-accent)}
@supports (animation-timeline:view()){
  .production .fig .edge,.production .fig .ink,.production .fig .zero,.production .fig .z{animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--fig}

  .production .fig .zero,.production .fig .z{animation-name:appear;animation-range:cover 20% cover 22%}
  .production .fig .wj{animation-range:cover 23% cover 40%}
  .production .fig .ml{animation-range:cover 40% cover 43.8%}
  .production .fig .la{animation-range:cover 43.8% cover 47.3%}
  .production .fig .ink{animation-name:appear;animation-range:cover 48% cover 54%}
  .production .fig .wj.left{animation-name:wj1}.production .fig .wj.top{animation-name:wj2}.production .fig .wj.right{animation-name:wj3}.production .fig .wj.bottom{animation-name:wj4}
  .production .fig .ml.left{animation-name:ml1}.production .fig .ml.top{animation-name:ml2}.production .fig .ml.right{animation-name:ml3}.production .fig .ml.bottom{animation-name:ml4}
  .production .fig .la.left{animation-name:la1}.production .fig .la.top{animation-name:la2}.production .fig .la.right{animation-name:la3}.production .fig .la.bottom{animation-name:la4}
}
@media (prefers-reduced-motion:reduce){
  .production .fig .edge,.production .fig .ink,.production .fig .zero,.production .fig .z{animation:none;opacity:1;transform:none}
}

@keyframes wj1{0%{transform:scaleY(0)}15.8%,100%{transform:scaleY(1)}}
@keyframes wj2{0%,15.8%{transform:scaleX(0)}50%,100%{transform:scaleX(1)}}
@keyframes wj3{0%,50%{transform:scaleY(0)}65.8%,100%{transform:scaleY(1)}}
@keyframes wj4{0%,65.8%{transform:scaleX(0)}100%{transform:scaleX(1)}}

@keyframes ml1{0%{transform:scaleY(0)}20%,100%{transform:scaleY(1)}}
@keyframes ml2{0%,20%{transform:scaleX(0)}50%,100%{transform:scaleX(1)}}
@keyframes ml3{0%,50%{transform:scaleY(0)}70%,100%{transform:scaleY(1)}}
@keyframes ml4{0%,70%{transform:scaleX(0)}100%{transform:scaleX(1)}}

@keyframes la1{0%{transform:scaleY(0)}14.9%,100%{transform:scaleY(1)}}
@keyframes la2{0%,14.9%{transform:scaleX(0)}50%,100%{transform:scaleX(1)}}
@keyframes la3{0%,50%{transform:scaleY(0)}64.9%,100%{transform:scaleY(1)}}
@keyframes la4{0%,64.9%{transform:scaleX(0)}100%{transform:scaleX(1)}}

.production .site .say{margin-bottom:clamp(30px,3.2vw,44px)}

.production .subhead{   margin-bottom:clamp(20px,2.2vw,28px)}
.production .site--cap{margin-top:0}
@media (max-width:600px){.production .site--cap{margin-top:58px}}
.production .subhead+.spec{margin-top:10px}
.production .cells{display:none}
.production .tag{display:flex;max-width:none;align-items:baseline;gap:9px;margin:0 0 14px;color:var(--doc-faint);font-size:10px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase}
.production .tag b{font-weight:400;color:var(--doc-fg)}
.production .tag i{font-style:normal;color:var(--doc-faint);opacity:.6}

.production .spec{margin:34px 0 0;padding:0;border-top:1px solid var(--doc-line)}
.production .spec>div{display:grid;grid-template-columns:166px minmax(0,1fr);gap:18px;align-items:baseline;padding:14px 0 15px;border-bottom:1px solid var(--doc-line)}
.production .spec>div>*{min-width:0}
.production .spec dt{display:grid;grid-template-columns:48px 100px;gap:18px;margin:0;font-size:10px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase}
.production .spec dt b{grid-column:1;font-weight:400;color:var(--doc-faint);transition:color .16s linear}
.production .spec dt span{grid-column:2;color:var(--doc-faint);transition:color .16s linear}
.production .spec>div:hover dt b,.production .spec>div:hover dt span{color:var(--doc-accent)}
.production .spec dd{margin:0;color:var(--doc-muted);font-size:13.5px;line-height:1.6;text-wrap:pretty}
.production .spec dd b{font-weight:400;color:var(--doc-fg)}

.production .links{display:flex;flex-wrap:wrap;gap:14px 44px;margin:40px 0 0}

.vision h2{margin:0 0 clamp(30px,3.2vw,44px);margin-bottom:round(clamp(30px,3.2vw,44px),1px)}
.vision .say{max-width:560px;margin:0;color:var(--doc-muted);font-family:"Steinhart",Arial,sans-serif;font-weight:400;
  font-size:clamp(19px,1.8vw,24px);line-height:1.42;line-height:round(1.42em,1px);letter-spacing:-.012em}
.vision .say+.say{margin-top:1.15em;margin-top:round(1.15em,1px)}

.vision .say+p{margin-top:clamp(24px,2.4vw,32px)}
.vision p+p{margin-top:1.1em}
.vision p+.say{margin-top:clamp(26px,2.6vw,34px)}
.vision .say--turn{color:var(--doc-accent)}

.sec .say.say--caps{font-family:"Steinhart Display",Arial,sans-serif;font-weight:700;color:var(--doc-accent);
  text-transform:uppercase;letter-spacing:-.02em;line-height:1.12}

.sec h2+.say{color:var(--doc-fg)}
.sec .say.say--ink{color:var(--doc-fg)}
.vision .say--end{color:var(--doc-accent)}
.vision .say+.say--end{margin-top:1.6em;margin-top:round(1.6em,1px)}

.vision .grid>.fig{margin-bottom:14px}
.ladder{margin:0;padding:0;list-style:none}
.rung{position:relative}
.rung+.rung{padding-top:22px}
.rung .rl{margin:0 0 5px;color:var(--doc-faint);font-size:10px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase}
.rung .dt{max-width:560px;margin:0;color:var(--doc-muted);font-size:14px;line-height:24px}
.rung--1 .dt{max-width:calc((100% - var(--idx-span)) / 2)}

.rung--3::before,.turn::before{content:"";position:absolute;top:0;bottom:0;left:calc(100% - var(--idx-span) - 1px);width:1px;background:var(--doc-geo)}
.turn{position:relative;padding-top:36px;timeline-scope:--hyle}
.turn .say{view-timeline-name:--hyle}

.vision .dim{position:relative;display:block;height:20px;margin-top:2px}
.rung--1 .dim{width:calc((100% - var(--idx-span)) / 2)}
.rung--2 .dim{width:calc(100% - var(--idx-span))}
.rung--3 .dim{width:100%}
.dim--hyle{width:var(--idx-span);margin-left:calc(100% - var(--idx-span))}
.dim svg{position:absolute;top:0;left:0;display:block;width:100%;height:20px;overflow:visible}
.dim .dim__ph{left:auto;right:0;width:var(--idx-span)}
.dim .dim__cl{width:1px}
.dim__run{position:absolute;top:0;left:0;width:100%;height:20px}
.dim .dim__cr{left:auto;right:0;width:1px}
.dim line,.dim use[href="#dtick"],.dim use[href="#dtickc"]{stroke:var(--doc-geo);stroke-width:1;shape-rendering:crispEdges}
.dim rect,.dim use[href="#pxchev"]{fill:var(--doc-geo);shape-rendering:crispEdges}
.dim--hyle line,.dim--hyle use[href="#dtick"]{stroke:var(--doc-accent)}
.dim--hyle use[href="#pxchev"]{fill:var(--doc-accent)}
.dim__ln{transform-origin:0 50%}

@supports (animation-timeline:view()){
  .rung{view-timeline-name:--rung}
  .rung .dt{opacity:.16;animation:ink linear both;animation-timeline:--rung;animation-range:cover 26% cover 40%}
  .dim__ln{animation:dim-draw linear both;animation-timeline:--rung;animation-range:cover 26% cover 40%}
  .rung--3 .dim__ln{animation-range:cover 26% cover 36.9%}
  .dim__run{animation:ride linear both;animation-timeline:--rung;animation-range:cover 26% cover 40%}
  .dim__cr{opacity:0;animation:ink linear both;animation-timeline:--rung;animation-range:cover 26% cover 27.5%}
  .dim__ph rect,.dim__ph use{opacity:0;animation:ink linear both;animation-timeline:--rung;
    animation-range:cover calc(36.9% + var(--x,181) * 0.0165%) cover calc(37.2% + var(--x,181) * 0.0165%)}
  .dim--hyle .dim__ln,.dim--hyle .dim__run,.dim--hyle .dim__cr{animation-timeline:--hyle}

  .dim--hyle .dim__ext,.dim--hyle .dim__cl{opacity:0;animation:ink linear both;animation-timeline:--hyle;animation-range:cover 25% cover 27%}
}
@keyframes dim-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes ride{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@media (prefers-reduced-motion:reduce){
  .rung .dt,.dim__ln,.dim__run,.dim__cr,.dim__ph rect,.dim__ph use,.dim--hyle .dim__ext,.dim--hyle .dim__cl{animation:none;opacity:1;transform:none}
}

@media (max-width:900px){
  .vision{--idx-span:24%}
  .grid>.fig{grid-column:1}
}

.join h2{margin-bottom:clamp(30px,3.2vw,44px)}

.join .grid{row-gap:0}
.join .grid>.seam,.join .grid>.roles-cap,.join .grid>.rows{grid-column:1/-1}
.join .grid>div>.subhead:first-child{margin-top:0}

.join .seam{display:grid;grid-template-columns:minmax(0,1fr) 2px minmax(0,1fr);padding:50px 0 28px;margin:clamp(32px,3.2vw,44px) 0 clamp(28px,2.8vw,38px)}
.seam>*{min-width:0}
.seam ol{margin:0;padding:0;list-style:none}
.seam .l{text-align:right;padding-right:27px}
.seam .r{padding-left:28px}
.seam li{font-family:"Steinhart",Arial,sans-serif;font-weight:400;font-size:clamp(19px,1.8vw,24px);line-height:round(1.42em,1px);letter-spacing:-.012em;color:var(--doc-fg)}
.seam .hd{margin:0 0 14px;font-family:"Steinhart Mono",ui-monospace,monospace;font-size:10px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;color:var(--doc-faint)}
.seam .ax{position:relative}
.seam .ax .line{position:absolute;left:1px;top:-28px;width:1px;height:calc(100% + 56px)}
.seam .ax .sym{position:absolute;left:-3px;top:-38px;width:9px;height:9px;color:var(--doc-faint);overflow:visible}

@supports (animation-timeline:view()){
  .seam li:not(.hd){opacity:.16;animation:ink linear both;animation-timeline:view()}
  .seam .l li:not(.hd){animation-range:cover 22% cover 36%}
  .seam .r li:not(.hd){animation-range:cover 28% cover 42%}
}
@media (prefers-reduced-motion:reduce){.seam li:not(.hd){opacity:1;animation:none}}

.roles-cap{display:flex;justify-content:space-between;gap:18px;margin-top:clamp(40px,4.6vw,60px);font-size:10px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;color:var(--doc-faint)}
.join .rows{margin-top:14px}
.join .rows li{position:relative}
.join .rows .t a{color:inherit;text-decoration:none;transition:color .16s linear}
.join .rows .t a::after{content:"";position:absolute;inset:0}
.join .rows .t a:focus-visible{outline:1px solid var(--doc-accent);outline-offset:4px}
.join .rows li:hover .t a,.join .rows li:has(a:focus-visible) .t a,.join .rows li:has(a:focus-visible) .n{color:var(--doc-accent)}
.join .rows .m{align-self:center}
.join .rows .gd{transition:color .16s linear}
.join .rows li:hover .gd,.join .rows li:has(a:focus-visible) .gd{color:var(--doc-accent)}
.join .rows li:has(a:focus-visible) .wrapd{transform:translate(0,0)}
.join .rows li:has(a:focus-visible) .d2{opacity:1;transform:translate(0,0)}

.join .say,.join .close{max-width:560px;font-family:"Steinhart",Arial,sans-serif;font-weight:400;
  font-size:clamp(19px,1.8vw,24px);line-height:round(1.42em,1px);letter-spacing:-.012em;color:var(--doc-muted)}
.join .say{margin:0}
.join .close{margin:clamp(44px,5vw,64px) 0 0}
.join .subhead{margin-top:clamp(2px,.6vw,10px)}
.join p+.open{margin-top:clamp(20px,2.2vw,30px)}

.join .b{margin-top:clamp(28px,3vw,36px)}
.join .c1:focus-visible{outline:0}

.end{position:relative;display:grid;grid-template-columns:1fr 1fr}
.end::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--doc-line)}
.end::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:var(--idx-span,188px);width:0;border-left:1px solid var(--doc-hair)}
.end .xh{position:absolute;z-index:1;bottom:-2px;width:5px;height:5px;
  background:linear-gradient(var(--doc-mark),var(--doc-mark)) 50% 0/1px 100% no-repeat,
             linear-gradient(var(--doc-mark),var(--doc-mark)) 0 50%/100% 1px no-repeat}
.end .xh:first-child{left:-2px}
.end .xh:nth-child(2){left:calc(var(--idx-span,188px) - 2px)}

.tb{grid-column:2;display:grid;grid-template-columns:minmax(0,1fr) 88px calc(var(--idx-span,188px) - 88px);margin:0;border:1px solid var(--doc-line);border-bottom:0}
.tb>div{min-width:0;padding:11px 10px 12px;border-left:1px solid var(--doc-line)}
.tb>div:nth-child(3n+1){border-left:0}
.tb>div:nth-child(n+4){border-top:1px solid var(--doc-line)}
.tb dt{margin:0 0 6px;font-size:9.5px;line-height:1.4;letter-spacing:.18em;text-transform:uppercase;color:var(--doc-faint)}
.tb dd{margin:0;font-size:10px;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;color:var(--doc-fg);white-space:nowrap}

@media (max-width:900px){
  .end .xh,.end::before{display:none}
  .end{grid-template-columns:1fr}
  .tb{grid-column:1}
}

  --doc-geo:#3a4250;--doc-fig-line:#262b33;--doc-fig-hair:#1a1e25;--doc-accent:#4c8dff;--doc-mark:#79828f;
  --ctl-fg:var(--doc-fg);--ctl-muted:var(--doc-muted);--ctl-line:rgba(237,240,244,.22);--ctl-accent:var(--doc-accent);--ctl-ground:var(--doc-bg);--on-accent:#0a0c10;
  --wash-1:rgba(214,227,247,.96);--wash-2:rgba(140,182,246,.66);--wash-3:rgba(76,141,255,.28);--wash-rim:#fff;
  --sec-pad:150px;--sec-pad-end:200px;
  color:var(--doc-fg);background:var(--doc-bg)}

:root[data-ground="carbon"] .arc--out{background:radial-gradient(150% 100% at 50% 100%,#191c22 0 44.4%,#cfe0ff 45.4%,rgba(120,150,200,.6) 46.5%,rgba(92,151,255,.52) 49%,rgba(76,141,255,.24) 52.5%,rgba(76,141,255,0) 58%)}

.production .grid>.fig--factory{grid-column:1/-1;margin:clamp(38px,4vw,58px) 0 0;position:relative}
@media (max-width:700px){#fig-envelopes .sc-mid{display:none}}
@media (max-width:1040px){

  #fig-envelopes .ksub{display:none}
}
.production .fig--factory svg{overflow:hidden}
.production .fig--factory path{stroke-width:1;stroke-linejoin:miter;stroke-linecap:butt;fill:none}
.production .fig--factory .f{fill:var(--doc-bg);stroke:none}
.production .fig--factory .i1{stroke:rgba(237,240,244,.62)}
.production .fig--factory .i2{stroke:rgba(237,240,244,.28)}
.production .fig--factory .i3{stroke:rgba(237,240,244,.12)}
.production .fig--factory .gr{stroke:#edf0f4}
.production .fig--factory .lv{stroke:var(--doc-accent)}
.production .fig--factory .ld{stroke:var(--doc-faint)}
.production .fig--factory .mk{color:var(--doc-faint)}
.production .fig--factory .mk--on{color:var(--doc-accent)}

.production .calls{position:absolute;inset:0;pointer-events:none}
.production .call{position:absolute;transform:translateY(-50%);font-size:10px;line-height:1;letter-spacing:.2em;text-transform:uppercase;color:var(--doc-fg);white-space:nowrap}
.production .call--l{transform:translate(-100%,-50%)}
.production .call b{font-weight:400;color:var(--doc-faint)}

@supports (animation-timeline:view()){
  .production .fig--factory [pathLength]{stroke-dasharray:1;stroke-dashoffset:1;animation:draw linear both;animation-timeline:--fig}
  .production .fig--factory .f,.production .fig--factory .mk,.production .call{opacity:0;animation:fin linear both;animation-timeline:--fig}
  .production .fig--factory .st2 [pathLength],.production .fig--factory .st2 .f{animation-range:cover 8% cover 22%}
  .production .fig--factory .st3 [pathLength],.production .fig--factory .st3 .f{animation-range:cover 16% cover 28%}
  .production .fig--factory .st4 [pathLength],.production .fig--factory .st4 .f{animation-range:cover 22% cover 34%}
  .production .fig--factory .st5 [pathLength]{animation-range:cover 30% cover 36%}
  .production .fig--factory .st5 .mk{animation-range:cover 34% cover 36%}
  .production .fig--factory .st5 .jet{animation-range:cover 35% cover 37%}
  .production .fig--factory .st5 .tp1{animation-range:cover 36% cover 39%}
  .production .fig--factory .st5 .tp2{animation-range:cover 39% cover 44%}
  .production .fig--factory .st6 [pathLength]{animation-range:cover 36% cover 41%}
  .production .fig--factory .st6 .mk,.production .call{animation-range:cover 39% cover 44%}
}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fin{to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .production .fig--factory [pathLength]{animation:none;stroke-dasharray:none;stroke-dashoffset:0}
  .production .fig--factory .f,.production .fig--factory .mk,.production .call{animation:none;opacity:1}
}

.production .grid>.cap{grid-column:1/-1;grid-template-columns:140px minmax(0,1fr) auto;column-gap:48px;margin:2px 0 clamp(38px,4vw,58px);padding-top:12px;border-top:1px solid var(--doc-geo)}
.production .cap span{white-space:nowrap}
.production .cap .r{text-align:right}
@media (max-width:900px){.production .grid>.cap{grid-template-columns:1fr}.production .cap .r{text-align:left}.production .calls,.production .fig--factory .st6{display:none}}

.sheet-end{position:relative;
  --doc-bg:#191c22;--doc-panel:#20242b;--doc-fg:#edf0f4;--doc-muted:#949dac;--doc-faint:#828b99;
  --doc-line:#2a2f37;--doc-hair:#23272e;--doc-accent:#5c97ff;
  --doc-geo:#3f4652;--doc-fig-line:#30363f;--doc-fig-hair:#262b33;--doc-mark:var(--doc-faint);
  --ink-1:rgba(237,240,244,.62);--ink-2:rgba(237,240,244,.28);
  --ctl-fg:var(--doc-fg);--ctl-muted:var(--doc-muted);--ctl-line:color-mix(in srgb,var(--doc-fg) 22%,transparent);
  --ctl-accent:var(--doc-accent);--ctl-ground:var(--doc-bg);--on-accent:#0a0c10;
  --idx-span:188px;

  --sec-pad:calc(var(--arc-h) * .22);--sec-pad-end:150px;
  padding-block:var(--sec-pad) var(--sec-pad-end);
  color:var(--doc-fg);background:linear-gradient(var(--page-bg) 0 var(--sag),var(--doc-bg) var(--sag))}
.sheet-end>.shell{position:relative;z-index:1}
.sheet-end a{color:inherit;text-decoration:none}
.sheet-end .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sheet-end .lab{font-size:10px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;color:var(--doc-faint)}

.se-plate{position:relative;display:grid;grid-template-columns:1fr 1fr}
.se-fig{position:relative;grid-column:1;margin:0;min-height:330px;view-timeline-name:--sefig;view-timeline-axis:block}
.se-fig>svg{position:absolute;left:0;top:0;width:calc(100% - var(--rule-gap));height:330px;overflow:visible}

.se-fig .part{fill:none;stroke:var(--ink-1);stroke-width:5.316;stroke-linejoin:round}
.se-fig .cl{fill:none;stroke:var(--doc-geo);stroke-width:1;stroke-dasharray:12 3 2 3;shape-rendering:crispEdges}
.se-fig .xh{color:var(--doc-accent)}
@supports (animation-timeline:view()){
  .se-fig .part[pathLength]{stroke-dasharray:1;stroke-dashoffset:1;animation:se-draw linear both;animation-timeline:--sefig}
  .se-fig .part.o{animation-range:entry 15% entry 65%}
  .se-fig .part.p{animation-range:entry 65% entry 100%}
  .se-fig .part.c{animation-range:entry 100% entry 118%}
  .se-fig .xh{opacity:0;animation:se-ink linear both;animation-timeline:--sefig;animation-range:entry 118% entry 130%}
}
@keyframes se-draw{to{stroke-dashoffset:0}}
@keyframes se-ink{to{opacity:1}}
@media (prefers-reduced-motion:reduce){.se-fig .part[pathLength]{animation:none;stroke-dasharray:none;stroke-dashoffset:0}.se-fig .xh{animation:none;opacity:1}}

.se-index{grid-column:2;padding-top:36px}
.se-index .ix{display:grid;grid-template-columns:28px max-content minmax(0,1fr) auto;column-gap:14px;margin:0;padding:0;list-style:none}
.se-index .lab{display:block;margin:0 0 24px}

.se-index li{position:relative;grid-column:1/-1;display:grid;grid-template-columns:28px 100px minmax(0,1fr) auto;column-gap:14px;align-items:center;height:36px;border-top:1px solid var(--doc-line)}
@supports (grid-template-columns:subgrid){.se-index li{grid-template-columns:subgrid}}
.se-index li:last-child{border-bottom:1px solid var(--doc-line)}
.se-index li>*{min-width:0}
.se-index .n{font-size:10px;letter-spacing:.2em;color:var(--doc-faint);transition:color .16s linear}
.se-index .t{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--doc-fg);transition:color .16s linear}
.se-index .t a::after{content:"";position:absolute;inset:0}
.se-index .m{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--doc-faint);transition:color .16s linear}
.se-index .g{color:var(--doc-faint);transition:color .16s linear}
.se-index li:hover .n,.se-index li:hover .t,.se-index li:hover .g,
.se-index li:has(a:focus-visible) .n,.se-index li:has(a:focus-visible) .t,.se-index li:has(a:focus-visible) .g{color:var(--doc-accent)}
.se-index li:hover .m,.se-index li:has(a:focus-visible) .m{color:var(--doc-muted)}
.se-index li:has(a:focus-visible) .wrapg{transform:translateX(0)}
.se-index li:has(a:focus-visible) .g2{opacity:1;transform:translateX(0)}
.se-index a:focus-visible{outline:0}

.se-sys{margin-top:clamp(48px,5.4vw,72px);row-gap:12px}
.se-sys .lab{grid-column:1/-1;display:block}
.se-sys .rows{grid-column:1/-1;margin-top:0}
.se-sys .rows li{grid-template-columns:minmax(0,1fr) auto;padding:19px 0 18px}
.se-sys .rows .t{position:relative;font-size:20px}
.se-sys .rows .t a::after{content:"";position:absolute;inset:0}
.se-sys .rows .m{display:flex;align-items:center;gap:22px;align-self:center}
.se-sys .rows .gd{color:var(--doc-faint);transition:color .16s linear}
.se-sys .rows .t a{transition:color .16s linear}
.se-sys .rows li:hover .t a,.se-sys .rows li:hover .gd,
.se-sys .rows li:has(a:focus-visible) .t a,.se-sys .rows li:has(a:focus-visible) .gd{color:var(--doc-accent)}
.se-sys .rows li:has(a:focus-visible) .wrapd{transform:translate(0,0)}
.se-sys .rows li:has(a:focus-visible) .d2{opacity:1;transform:translate(0,0)}
.se-sys .rows a:focus-visible{outline:0}

.se-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);margin-top:clamp(48px,5.4vw,72px);border-top:1px solid var(--doc-line)}
.se-contact{display:grid;align-content:start;gap:10px;padding:14px 0 0}
.se-contact .lab{margin-bottom:4px}
.se-contact .lk4{font-size:10px;letter-spacing:.2em}
.se-contact .place{margin:4px 0;font-style:normal;font-size:10px;line-height:1.9;letter-spacing:.2em;text-transform:uppercase;color:var(--doc-faint)}
.tb{grid-column:2;display:grid;grid-template-columns:minmax(0,1fr) 88px calc(var(--idx-span) - 88px);margin:0;border:1px solid var(--doc-line);border-top:0}
.tb>div{min-width:0;padding:11px 10px 12px;border-left:1px solid var(--doc-line)}
.tb>div:nth-child(3n+1){border-left:0}
.tb>div:nth-child(n+4){border-top:1px solid var(--doc-line)}
.tb dt{margin:0 0 6px;font-size:9.5px;line-height:1.4;letter-spacing:.18em;text-transform:uppercase;color:var(--doc-faint)}
.tb dd{margin:0;font-size:10px;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;color:var(--doc-fg);white-space:nowrap}

.tb .co{display:flex;align-items:center;gap:10px;margin:0;height:100%}
.tb>div:has(.co){padding:0 10px}
.tb .co svg{display:block;width:24px;height:24px;fill:var(--doc-fg)}
.tb .co b{font-family:"Zebulon","Steinhart Display",Arial,sans-serif;font-weight:400;font-size:clamp(16px,1.35vw,19px);line-height:1;letter-spacing:.012em;white-space:nowrap;color:var(--doc-fg)}

.se-line{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:26px 0 0}
.se-line .path{display:flex;align-items:center;gap:10px;margin:0}
.se-line .path .gx{color:var(--doc-accent)}
.se-line .path .gx .g2{display:none}
.se-line .path .gx .wrapg{transform:none}

@media (max-width:900px){
  .se-plate,.se-block{grid-template-columns:1fr}
  .se-index,.tb{grid-column:1}
  .se-index{padding-top:24px}
  .se-sys .lab{padding-top:0;margin-bottom:12px}
}

.infra{view-timeline-name:--sheet;view-timeline-axis:block}

.sheet{position:absolute;inset:0;z-index:0;pointer-events:none;--ink-note:#cbd2dc;--ink-part:#c9d0da}
.sheet .geo{stroke:var(--ink-part)}
:root[data-ground="carbon"] .sheet{--ink-note:var(--doc-fig-hair);--ink-part:var(--doc-fig-line)}
.sheet .shell{position:relative;height:100%}
.sheet .sh{position:absolute;top:0;left:var(--shell-pad);width:calc(100% - var(--shell-pad) * 2);height:calc(100% - 24px);overflow:visible}
.sheet--over{z-index:3}
.sheet--over .sh{left:auto;right:var(--shell-pad);width:1px;mix-blend-mode:darken}
:root[data-ground="carbon"] .sheet--over .sh{mix-blend-mode:lighten}
.sheet .hr{fill:none;stroke:var(--doc-fig-hair);stroke-width:1}
.sheet .geo{fill:none;stroke:var(--doc-fig-line);stroke-width:1}
.sheet .ln{fill:none;stroke:var(--doc-fig-hair);stroke-width:1}
.sheet .hl{fill:none;stroke:var(--doc-fig-hair);stroke-width:1}
.sheet .nt{fill:none;stroke:var(--ink-note);stroke-width:1}
.sheet .thick{stroke-width:2}
.sheet .arw{fill:var(--ink-note);stroke:none}
.sheet .cx{shape-rendering:crispEdges}
.sheet .pt{fill:none;stroke:var(--fig-ground);stroke-width:1.2}
.sheet .pt-cl{stroke-dasharray:0 12 3 2 3 0}
.sheet .pt-hid{stroke-dasharray:0 4 3 0}
.sheet text{font:10px/1 "Steinhart Mono",ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;fill:var(--ink-note);dominant-baseline:auto}
.sheet .zn{letter-spacing:.2em;dominant-baseline:central}
.sheet .tt{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase}
.sheet .pg{transform:translate(-418px,calc(var(--py) + .5px))}
.sheet .sg{transform:translate(-240px,calc(var(--sy) + .5px))}

@supports (animation-timeline:view()){
  .sheet .dr{stroke-dasharray:1;stroke-dashoffset:1;animation:sh-draw linear both;animation-timeline:--sheet}
  .sheet .ap{opacity:0;animation:sh-show step-end both;animation-timeline:--sheet}
}
@keyframes sh-draw{to{stroke-dashoffset:0}}
@keyframes sh-show{to{opacity:1}}
@media (prefers-reduced-motion:reduce){.sheet .dr,.sheet .ap{animation:none;stroke-dasharray:none;stroke-dashoffset:0;opacity:1}}

@media (max-width:900px){

  .pro .entry{padding:clamp(40px,7vw,56px) clamp(20px,5.4vw,30px)}
  .pro .entry>.fig{margin:30px 0 0}

  :root{--arc-w:185%;--arc-k:.900528}
  .nav--hero,.panel{display:none}

  .grid,:root[data-doc="column"] .grid{grid-template-columns:minmax(0,1fr);column-gap:0;--idx-span:0px;--rail-gap:0px;justify-content:stretch}
  .grid>*{grid-column:1!important}
  .rail-anchor,.crule,.cut>i:last-child,.sheet,.sheet--over{display:none}
  .shell{padding-inline:20px}

  .hero__lede{width:auto;right:20px;left:20px;bottom:42px}
  .hero__copy{position:absolute;top:24vh;right:20px;left:20px;width:auto;text-align:left}
  .hero__copy h1{font-size:clamp(34px,10.5vw,60px)}
  .sec,.sheet-end{--veil-h:120px}
  .sec::before,.sheet-end::before{background:linear-gradient(var(--doc-bg) 34%,transparent)}
  .brand{top:18px;left:20px;transform-origin:0 0;transition:filter .3s linear}
  .brand__mark{width:32px;height:32px}

  .brand.on-dark .brand__mark{filter:invert(1) brightness(1.1)}

  .rail{left:auto!important;right:20px;top:34px;transform:translateY(-50%);gap:0;pointer-events:auto;animation-range:contain 12% contain 18%}
  .rail__track,.rail__index{display:none!important}

  .rail__label{pointer-events:auto;cursor:pointer;display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.18em;
    padding:12px 0 12px 16px;margin:-12px 0 -12px -16px}
  .rail__menu{display:block;width:9px;height:15px;color:var(--rail-ink);fill:currentColor;shape-rendering:crispEdges;transform:rotate(90deg)}

  .sec--dark,.sheet-end{--sec-pad:calc(var(--arc-h) * .20)}
  .sec--dark{--sec-pad-end:170px}

  .thesis h2{font-size:clamp(30px,9.4vw,40px)}
  .thesis .say,.thesis .claims li{max-width:none}
  .sec--thesis{--idx-span:24%}
  .sec .fig__st{font-size:8.5px;letter-spacing:.14em}

  .production .spec>div{grid-template-columns:1fr;gap:6px;padding:14px 0}
  .production .spec dt{grid-template-columns:34px 1fr}

  .vision .dim,.vision .rung--3::before,.vision .turn::before,.vision .wall{display:none}
  .vision .rung .dt{max-width:none!important}

  .join .seam{grid-template-columns:minmax(0,1fr) 2px minmax(0,1fr);padding:36px 0 20px}
  .join .seam li{font-size:clamp(17px,4.6vw,20px)}
  .join .seam .l{padding-right:14px}.join .seam .r{padding-left:14px}
  .join .rows li{grid-template-columns:30px 1fr auto;gap:12px}
  .rows .t{font-size:17px;white-space:normal}

  .se-plate{grid-template-columns:1fr}
  .se-fig{min-height:330px}
  .se-index{grid-column:1;padding-top:12px}
  .se-index .ix li{grid-template-columns:34px 1fr auto}
  .se-index .ix .meta{display:none}
  .se-sys .lab,.se-sys .rows{grid-column:1}
  .se-sys .rows li{grid-template-columns:minmax(0,1fr) auto;row-gap:6px}
  .se-sys .rows .t{font-size:17px;white-space:normal}
  .se-sys .rows .m{grid-column:1;justify-content:flex-start}

  .se-index .ix{grid-template-columns:28px 1fr auto;column-gap:12px}
  .se-index .ix .m{display:none}
  .se-block{grid-template-columns:1fr}
  .se-contact{padding-bottom:18px}
  .tb{grid-column:1;grid-template-columns:minmax(0,1fr) 74px 90px}
  .tb dd{white-space:normal;letter-spacing:.08em}

  .sec--thesis .grid{--idx-span:24%}

  .sec--thesis .fig:not(.fig--v){display:none}
  .fig--v{display:block;margin:34px 0 0}
  .v__plate{position:relative;height:384px}
  .v__wall{position:absolute;top:0;bottom:0;width:1px;background:var(--doc-geo);transform-origin:50% 0}
  .v__wall--l{left:84px}.v__wall--r{left:187px}
  .v__cl{position:absolute;z-index:1;top:0;bottom:0;left:135px;width:1px;transform-origin:50% 0;
    background:repeating-linear-gradient(var(--doc-fig-line) 0 12px,transparent 12px 15px,var(--doc-fig-line) 15px 17px,transparent 17px 20px)}
  .v__tick{position:absolute;left:84px;width:104px;height:1px;background:var(--doc-geo);transform-origin:0 50%}
  .v__tick:nth-of-type(1){top:0}.v__tick:nth-of-type(2){top:96px}.v__tick:nth-of-type(3){top:192px}.v__tick:nth-of-type(4){top:288px}.v__tick:nth-of-type(5){top:383px}
  .fig--v .v__st{position:absolute;left:202px;margin:0;max-width:none;color:var(--doc-fg);font-size:10px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
  .v__st span{display:inline-block;opacity:.5}
  .v__st:nth-of-type(4) span{opacity:1}
  .v__st b{font-weight:400;margin-right:8px;color:var(--doc-faint)}
  .v__st:nth-of-type(1){top:41px}.v__st:nth-of-type(2){top:137px}.v__st:nth-of-type(3){top:233px}.v__st:nth-of-type(4){top:329px}
  .vthroat{position:absolute;top:0;left:84px;width:104px;height:96px}
  .vthroat svg{display:block;width:104px;height:96px;overflow:visible}
  .sec .fig--v .throat__lab{position:absolute;left:auto;right:calc(100% + 10px);top:50%;transform:translateY(-50%);margin:0;max-width:none;text-align:right;font-size:10px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
  .vthroat--phantom path{stroke-dasharray:10 3 2 3 2 3}
  .vthroat--phantom .throat__lab{color:var(--doc-faint)}
  .v__carrier{position:absolute;top:0;left:84px;width:104px;height:288px;transform:translateY(100%)}
  .v__carrier .vthroat{left:0}
  .vthroat--live rect{fill:var(--fig-ground)}
  .vthroat--live .throat__lab{color:var(--doc-accent)}
  @supports (animation-timeline:view()){
    .v__wall{animation:draw-y linear both;animation-timeline:--figv;animation-range:cover 6% cover 22%}
    .v__cl{animation:draw-y linear both;animation-timeline:--figv;animation-range:cover 8% cover 24%}
    .v__tick{animation:draw-x linear both;animation-timeline:--figv}
    .v__st{animation:appear linear both;animation-timeline:--figv}
    .v__tick:nth-of-type(1),.v__st:nth-of-type(1){animation-range:cover 8% cover 12%}
    .v__tick:nth-of-type(2),.v__st:nth-of-type(2){animation-range:cover 11% cover 15%}
    .v__tick:nth-of-type(3),.v__st:nth-of-type(3){animation-range:cover 15% cover 19%}
    .v__tick:nth-of-type(4),.v__st:nth-of-type(4){animation-range:cover 19% cover 23%}
    .v__tick:nth-of-type(5){animation-range:cover 22% cover 26%}
    .vthroat--phantom{animation:appear linear both;animation-timeline:--figv;animation-range:cover 24% cover 28%}
    .vthroat--live{animation:appear linear both;animation-timeline:--figv;animation-range:cover 26% cover 30%}
    .v__carrier{animation:travel-y linear both;animation-timeline:--figv;animation-range:cover 30% cover 56%}
    .vthroat--phantom .throat__lab{animation:appear linear both;animation-timeline:--figv;animation-range:cover 32% cover 36%}
    .vthroat--live .throat__lab{animation:appear linear both;animation-timeline:--figv;animation-range:cover 38% cover 44%}
    .v__st span{animation-timeline:--figv;animation-timing-function:linear;animation-fill-mode:both}
    .v__st:nth-of-type(1) span{animation-name:leave;animation-range:cover 32% cover 34%}
    .v__st:nth-of-type(2) span{animation-name:pass;animation-range:cover 32% cover 44%}
    .v__st:nth-of-type(3) span{animation-name:pass;animation-range:cover 42% cover 54%}
    .v__st:nth-of-type(4) span{animation-name:arrive;animation-range:cover 52% cover 55%}
  }
  @media (prefers-reduced-motion:reduce){.v__wall,.v__cl,.v__tick,.v__st,.vthroat,.v__carrier,.throat__lab,.v__st span{animation:none!important}}

  .objects{display:block;list-style:none;margin:8px 0 26px;padding:0 0 0 18px;border-left:1px solid var(--doc-geo)}
  .objects li{position:relative;padding:9px 0;font-size:10px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;color:var(--doc-fg)}
  .objects li::before{content:"";position:absolute;left:-22px;top:13px;width:7px;height:7px;background:var(--doc-bg);border:1px solid var(--doc-geo)}
  .objects li b{font-weight:400}
  .objects li i{display:block;margin-top:2px;font-style:normal;letter-spacing:.14em;color:var(--doc-faint)}

  .join .rows .t,.join .rows .t a{white-space:normal!important}

  .production .cells{display:flex;flex-wrap:wrap;gap:8px 18px;margin:14px 0 0;color:var(--doc-fg);font-size:10px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase}
  .production .cells b{font-weight:400;color:var(--doc-faint);margin-right:6px}
  .production .tag{flex-wrap:wrap;row-gap:4px}
  .production .tag span,.production .tag b{white-space:nowrap}
  .production .cap span{white-space:normal}

  .tb{grid-template-columns:minmax(0,1fr) 70px 96px}
  .tb .co{gap:8px}
  .tb .co svg{width:18px;height:18px}
  .tb .co b{font-size:12px}
  .tb>div{padding:10px 8px 11px}
  .se-line{flex-direction:column;align-items:flex-start;gap:14px;padding:22px 0 0}
}
@media (max-width:600px){
  .msheet__ix span{font-size:22px}
  #fig-envelopes{display:none}
  .hero__say{font-size:15px;line-height:1.6;margin-bottom:24px}
}
