@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geologica-cyrillic-ext-wght-normal.1rqqbntazo-vf.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geologica-cyrillic-wght-normal.35-spomdbqqth.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geologica-greek-wght-normal.38h5lgi9voy9r.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geologica-vietnamese-wght-normal.3s6ijhym9777j.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geologica-latin-ext-wght-normal.0epfk63gz-4qn.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geologica-latin-wght-normal.0snvg700yo0cb.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-cyrillic-ext-wght-normal.1ladf10s224e1.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-cyrillic-wght-normal.0x7cg5h5x34js.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-greek-wght-normal.1k07jbkicvzf3.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-vietnamese-wght-normal.0a13tgqsi9z78.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-latin-ext-wght-normal.3rxtet6g9i1k3.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-latin-wght-normal.2rmhnsrc80fag.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--paper:#f1f4f1;--paper-deep:#e4e9e5;--ink:#121715;--ink-soft:#3e4843;--rule:#aab4ae;--rule-light:#d3d9d5;--cobalt:#2357ff;--cobalt-dark:#1737a6;--amber:#ffb000;--signal-green:#58cc82;--danger:#e54d3d;--font-sans:"Geologica Variable", "Arial", sans-serif;--font-mono:"JetBrains Mono Variable", "Consolas", monospace;--page-pad:clamp(1.1rem, 3.4vw, 4.5rem);--header-height:4.75rem;--section-space:clamp(6rem, 12vw, 12rem);--ease-out:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--cobalt) var(--paper-deep);scrollbar-width:thin}body{background:linear-gradient(90deg, transparent calc(100% - 1px), #1217150b 0) 0 0 / min(8.333vw, 120px) 100%, var(--paper);min-width:0;color:var(--ink);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.55;overflow-x:clip}::selection{background:var(--cobalt);color:#fff}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--paper-deep)}::-webkit-scrollbar-thumb{border:2px solid var(--paper-deep);background:var(--cobalt)}a{color:inherit;text-underline-offset:.28em;text-decoration-thickness:1px}button,a,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--cobalt);outline-offset:4px}img,svg{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;text-wrap:balance}.direction-contract{display:contents}.skip-link{z-index:200;background:var(--ink);color:#fff;font-family:var(--font-mono);padding:.75rem 1rem;font-size:.72rem;text-decoration:none;position:fixed;top:1rem;left:1rem;translate:0 -200%}.skip-link:focus{translate:0}.site-header{z-index:100;height:var(--header-height);border-bottom:1px solid var(--rule);background:color-mix(in srgb, var(--paper) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:stretch;display:flex;position:sticky;top:0}.wordmark{border-right:1px solid var(--rule);min-width:min(29rem,36vw);padding:0 var(--page-pad);align-content:center;text-decoration:none;display:grid}.wordmark-name{letter-spacing:.09em;font-size:.82rem;font-weight:720}.wordmark-signal{color:var(--cobalt);font-family:var(--font-mono);letter-spacing:.12em;font-size:.58rem}.nav-menu{align-items:stretch;display:grid}.nav-menu-trigger{border:0;border-left:1px solid var(--rule);width:clamp(6.4rem,8vw,7.5rem);color:var(--ink);cursor:pointer;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;transition:background .16s var(--ease-out), color .16s var(--ease-out);background:0 0;justify-content:center;align-items:center;gap:.7rem;font-size:.78rem;display:flex}.nav-menu-trigger:focus-visible,.nav-menu-link:focus-visible{outline:2px solid var(--cobalt);outline-offset:-3px}.nav-menu-mark{place-items:center;width:1.2rem;height:1rem;display:grid;position:relative}.nav-menu-mark span{width:1.2rem;height:1.5px;transition:transform .19s var(--ease-out), opacity .14s linear;background:currentColor;position:absolute}.nav-menu-mark span:first-child{transform:translateY(-5px)}.nav-menu-mark span:last-child{transform:translateY(5px)}.nav-menu-trigger[aria-expanded=true] .nav-menu-mark span:first-child{transform:rotate(45deg)}.nav-menu-trigger[aria-expanded=true] .nav-menu-mark span:nth-child(2){opacity:0}.nav-menu-trigger[aria-expanded=true] .nav-menu-mark span:last-child{transform:rotate(-45deg)}.nav-menu-panel{z-index:1;border-bottom:1px solid var(--ink);background:var(--paper);position:absolute;top:100%;left:0;right:0;overflow:hidden}.nav-menu-row{border-top:1px solid var(--rule);min-height:clamp(4.35rem,7vh,5.25rem)}.nav-menu-link{min-height:inherit;isolation:isolate;padding:0 var(--page-pad);color:var(--ink);font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;grid-template-columns:minmax(0,1fr) auto;align-items:center;font-size:.78rem;text-decoration:none;display:grid;position:relative}.nav-menu-highlight{z-index:0;background:var(--cobalt);pointer-events:none;position:absolute;inset:0}.nav-menu-label,.nav-menu-arrow{z-index:1;position:relative}.nav-menu-link.is-current:before{z-index:1;background:var(--cobalt-dark);content:"";width:1px;position:absolute;top:0;bottom:0;left:0}.nav-menu-link.is-previewed{color:#fff}.nav-menu-arrow{opacity:0;width:1rem;transition:opacity .14s var(--ease-out), transform .16s var(--ease-out);margin-left:1rem;transform:translate(-4px)}.nav-menu-link.is-previewed .nav-menu-arrow{opacity:1;transform:translate(0)}@media (hover:hover) and (pointer:fine){.nav-menu-trigger:hover{color:var(--cobalt-dark);background:#e6ebff}}@media (prefers-reduced-motion:reduce){.nav-menu-trigger,.nav-menu-mark span,.nav-menu-arrow,.nav-menu-panel,.nav-menu-row,.nav-menu-highlight{transition:none!important}}.trajectory-map{background:var(--paper);min-height:0;color:var(--ink);grid-template-rows:auto auto;align-content:center;gap:.8rem;padding:clamp(.9rem,2.4vw,1.8rem);display:grid}.trajectory-map svg{width:100%;height:auto;min-height:0;display:block;overflow:visible}.trajectory-map .map-route-progress{stroke:var(--cobalt);stroke-width:3.4px}.trajectory-map .map-route-arrow{fill:var(--cobalt)}.trajectory-map .map-marker-pulse{fill:none;stroke:var(--amber);stroke-width:1.5px}.trajectory-map .map-travellers circle{fill:var(--paper);stroke:var(--cobalt);stroke-width:2px}.trajectory-map .map-callout-label,.trajectory-map .map-caption{fill:var(--ink);font-family:var(--font-mono);letter-spacing:.45px;font-weight:700}.trajectory-map .map-callout-label{font-size:25px}.about-trajectory{margin-top:clamp(4rem,7vw,7rem)}.about-trajectory>h2{margin-bottom:1.25rem;font-size:clamp(2.25rem,4.6vw,4.25rem)}@media (max-width:900px){.trajectory-map{min-height:0}}@media (max-width:620px){.trajectory-map{gap:.45rem;padding:.65rem}.trajectory-map .map-callout-label{font-size:38px}.trajectory-map .map-caption{font-size:28px;display:block}}.trajectory-map{background:var(--paper);min-height:0;color:var(--ink);grid-template-rows:auto auto;gap:0;padding:clamp(.85rem,2vw,1.6rem);display:grid;position:static;overflow:hidden}.trajectory-map svg{width:100%;height:auto;display:block;overflow:hidden}.trajectory-map .map-grid{fill:none;stroke:#12171521;stroke-width:1px;vector-effect:non-scaling-stroke}.trajectory-map .map-region path,.trajectory-map .map-region-halo{fill:#0000;stroke:#0000;stroke-width:1.1px;transition:fill .18s linear,stroke .18s linear}.trajectory-map .map-region-completed path,.trajectory-map .map-region-completed .map-region-halo{fill:#9eb4ff;stroke:var(--cobalt-dark)}.trajectory-map .map-region-active path,.trajectory-map .map-region-active .map-region-halo{fill:var(--cobalt);stroke:var(--cobalt-dark)}.trajectory-map .map-region-halo{fill-opacity:.24;stroke-width:1.25px}.trajectory-map .map-route{fill:none;stroke:var(--cobalt);stroke-linecap:round;stroke-width:3px;vector-effect:non-scaling-stroke}.trajectory-map .map-arrow path{fill:var(--cobalt);stroke:var(--paper);stroke-width:1px}.trajectory-map .map-arrow-static path{fill:var(--cobalt)}.trajectory-map .map-leader{fill:none;stroke:var(--ink);stroke-width:1.15px;vector-effect:non-scaling-stroke}.trajectory-map .map-marker-ring{fill:var(--paper);stroke:var(--ink);stroke-width:2px}.trajectory-map .map-marker-dot{fill:var(--ink);stroke:var(--paper);stroke-width:1px}.trajectory-map .map-arrival-pulse{fill:none;stroke:var(--amber);stroke-width:1.75px}.trajectory-map .map-callout-label,.trajectory-map .map-caption,.trajectory-map .map-callout-detail{fill:var(--ink);font-family:var(--font-mono);letter-spacing:.45px}.trajectory-map .map-callout-label{font-size:21px;font-weight:700}.trajectory-map .map-caption{fill:var(--cobalt-dark);font-size:15px;font-weight:700}.trajectory-map figcaption{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.trajectory-map .trajectory-journey-strip{background:var(--cobalt);color:#fff;border-top:1px solid #ffffff70;grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(.35rem,.8vw,.65rem) 0 0;padding:0;list-style:none;display:grid;position:static;overflow:hidden}.trajectory-map .trajectory-journey-strip li{opacity:.67;background:0 0;border-right:1px solid #dbe3ff8c;grid-template-columns:auto minmax(0,1fr);gap:1rem;min-height:8.9rem;padding:clamp(1rem,2vw,1.45rem);transition:background-color .18s linear,opacity .18s linear;display:grid;position:static}.trajectory-map .trajectory-journey-strip li:last-child{border-right:0}.trajectory-map .trajectory-journey-strip li[data-state=active]{opacity:1;background:#ffffff21}.trajectory-map .trajectory-journey-strip li[data-state=completed]{opacity:.82;background:#1217151f}.trajectory-map .journey-index{width:2.55rem;height:2.55rem;color:var(--amber);font:700 .72rem var(--font-mono);border:1px solid #dbe3ff;place-items:center;display:grid}.trajectory-map .trajectory-journey-strip strong,.trajectory-map .trajectory-journey-strip li>div>span{display:block}.trajectory-map .trajectory-journey-strip strong{color:#fff;font-size:clamp(1rem,1.6vw,1.45rem);line-height:1.1}.trajectory-map .trajectory-journey-strip li>div>span{color:#dbe3ff;font:600 clamp(.61rem, .84vw, .77rem) / 1.45 var(--font-mono);letter-spacing:.04em;margin-top:.65rem}.trajectory-map-full{border:1px solid var(--rule)}.trajectory-map-full .trajectory-journey-strip li{min-height:9.5rem}@media (max-width:620px){.trajectory-map{padding:.65rem}.trajectory-map .map-callout-label{font-size:34px}.trajectory-map .map-callout-detail,.trajectory-map .map-caption{font-size:20px}.trajectory-map .map-marker-ring{r:13}.trajectory-map .map-marker-dot{r:4}.trajectory-map .map-region-halo{r:19}.trajectory-map .trajectory-journey-strip{grid-template-columns:1fr}.trajectory-map .trajectory-journey-strip li,.trajectory-map .trajectory-journey-strip li:last-child{border-bottom:1px solid #dbe3ff66;border-right:0;min-height:0;padding:1rem}.trajectory-map .trajectory-journey-strip li:last-child{border-bottom:0}}.hero{border-bottom:1px solid var(--ink);grid-template-rows:minmax(49rem,auto) auto;grid-template-columns:minmax(24rem,.88fr) minmax(36rem,1.12fr);display:grid;position:relative;overflow:hidden}.hero-copy{z-index:2;text-align:center;border-right:1px solid var(--rule);padding:clamp(3rem, 7vw, 8rem) var(--page-pad) clamp(3rem, 5vw, 5rem);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;container-type:inline-size}.hero-degree,.hero h1,.hero-position,.hero-summary{margin-left:auto;margin-right:auto}.hero h1{max-width:11ch;margin-bottom:1.7rem;font-size:clamp(3rem,5.8vw,5.85rem);font-weight:720;line-height:.94}.hero h1 em{color:var(--cobalt);font-style:normal}.hero-summary{max-width:58ch;color:var(--ink-soft);margin-bottom:2.25rem;font-size:clamp(.98rem,1.15vw,1.12rem)}.hero-actions,.trajectory-actions{flex-wrap:wrap;gap:.7rem;display:flex}.hero-actions{justify-content:center}.primary-action,.secondary-action{border:1px solid var(--ink);min-height:3.35rem;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;transition:background .22s var(--ease-out), color .22s var(--ease-out), translate .22s var(--ease-out);justify-content:space-between;align-items:center;gap:2.4rem;padding:.9rem 1.1rem;font-size:.68rem;text-decoration:none;display:inline-flex}.primary-action{background:var(--ink);color:#fff}.secondary-action{background:0 0}.primary-action svg,.secondary-action svg,.text-link svg,.quiet-link svg{flex:none;width:1.05rem}.primary-action:hover,.secondary-action:hover{translate:0 -3px}.primary-action:hover{background:var(--cobalt)}.secondary-action:hover{background:var(--paper-deep)}.hero-artifact{background:linear-gradient(#12171509 1px, transparent 1px) 0 0 / 100% 4rem, var(--paper-deep);align-items:end;min-width:0;display:grid;position:relative;overflow:hidden}.hero-artifact:before{content:"";pointer-events:none;border:1px solid #1217152e;position:absolute;inset:1.5rem}.autonomy-assembly{z-index:1;margin:0;position:relative}.autonomy-assembly>svg{width:100%;max-height:49rem;color:var(--ink)}.autonomy-assembly figcaption,.visual-caption{border-top:1px solid var(--rule);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;gap:1rem;padding:.72rem 1.5rem;font-size:.55rem;display:flex}.assembly-grid{color:var(--ink)}.construction{fill:none;stroke:var(--rule);stroke-width:1px}.construction-dash{stroke-dasharray:2 8}.signal-orbit path{fill:none;stroke:#2357ff3d;stroke-width:5px}.signal-orbit .signal-pulse{stroke:var(--cobalt);stroke-dasharray:44 260;stroke-linecap:square;animation:5.2s linear infinite signal-orbit}@keyframes signal-orbit{to{stroke-dashoffset:-304px}}.metal-panel{fill:var(--rule);stroke:var(--ink);stroke-width:1.6px}.metal-dark{fill:#242c28;stroke:var(--ink);stroke-width:1.6px}.metal-light{fill:#d9dfdb;stroke:var(--ink);stroke-width:1.6px}.port{fill:var(--ink)}.joint-shell{fill:#c6ceca;stroke:var(--ink);stroke-width:2px}.joint-core{fill:#151b18;stroke:#303a35;stroke-width:2px}.joint-ring{fill:var(--cobalt);stroke:var(--paper);stroke-width:3px}.arm-shadow{fill:#242b28;stroke:var(--ink);stroke-width:2px}.arm-light{fill:#eef1ef;stroke:var(--ink);stroke-width:2px}.arm-rib{fill:none;stroke:var(--rule);stroke-width:6px}.lens{fill:var(--cobalt);stroke:#9eb4ff;stroke-width:5px}.lens-dot{fill:#fff}.cable{fill:none;stroke:var(--ink);stroke-width:9px}.cable-live{stroke:var(--amber);stroke-dasharray:10 26;stroke-width:3px;animation:2.4s linear infinite cable-flow}@keyframes cable-flow{to{stroke-dashoffset:-36px}}.assembly-label path{fill:none;stroke:var(--ink);stroke-width:1px}.assembly-label circle{fill:var(--cobalt)}.assembly-label text{fill:var(--ink);font-family:var(--font-mono);letter-spacing:1px;font-size:13px;font-weight:700}.assembly-label .label-detail{fill:var(--ink-soft);font-size:8px;font-weight:500}.signal-chain{border-top:1px solid var(--ink);grid-column:1/-1;grid-template-columns:repeat(5,1fr);margin:0;padding:0;list-style:none;display:grid}.signal-chain li{border-right:1px solid var(--rule);grid-template-columns:auto 1fr;align-content:start;gap:.45rem .8rem;min-height:7.6rem;padding:1rem 1.1rem;display:grid;position:relative}.signal-chain li:last-child{border-right:0}.signal-chain li:not(:last-child):after{z-index:2;border:1px solid var(--ink);background:var(--paper);content:"";width:.45rem;height:.45rem;position:absolute;top:50%;right:-.28rem;rotate:45deg}.chain-index,.chain-detail,.chain-examples{font-family:var(--font-mono)}.chain-index{color:var(--cobalt);font-size:.58rem}.signal-chain strong{letter-spacing:.08em;font-size:.74rem}.chain-detail{grid-column:1/-1;max-width:30ch;font-size:.62rem}.chain-examples{color:var(--ink-soft);grid-column:1/-1;font-size:.52rem}.selected-work,.system-archive{padding:var(--section-space) var(--page-pad)}.section-heading{grid-template-columns:minmax(0,1.1fr) minmax(18rem,.55fr);align-items:end;gap:clamp(2rem,8vw,10rem);margin-bottom:clamp(3rem,7vw,7rem);display:grid}.section-heading h2,.position-statement h2,.trajectory-copy h2{max-width:12ch;margin-bottom:0;font-size:clamp(3rem,6.6vw,6rem);font-weight:690;line-height:.95}.section-heading p{max-width:60ch;color:var(--ink-soft);margin-bottom:.25rem}.selected-work-list{gap:clamp(5rem,10vw,10rem);display:grid}@media (min-width:1200px){.selected-work>.section-heading,.system-archive>.archive-heading{grid-template-columns:minmax(20rem,34rem) minmax(20rem,36rem);justify-content:start;align-items:center;gap:clamp(2rem,4vw,4rem)}}.project-feature{border:1px solid var(--ink);background:var(--paper);grid-template-columns:minmax(0,1.75fr) minmax(19rem,.75fr);display:grid}.project-feature-heading{border-bottom:1px solid var(--ink);grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(18rem,.42fr);gap:1.5rem 4rem;padding:clamp(1.4rem,3vw,3rem);display:grid}.project-feature-heading>div{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;grid-column:1/-1;justify-content:space-between;font-size:.6rem;display:flex}.project-feature-heading h3{max-width:18ch;margin:0;font-size:clamp(2.3rem,4.6vw,4.9rem);font-weight:690;line-height:.95}.project-feature-heading p{max-width:50ch;color:var(--ink-soft);align-self:end;margin:0}.project-feature-visual{border-right:1px solid var(--ink);background:var(--paper-deep);min-width:0}.project-diagram{min-width:0;padding:clamp(1.25rem,3vw,3.75rem)}.project-diagram svg{width:100%}.project-feature-ledger{background:var(--ink);color:#fff;flex-direction:column;min-width:0;padding:clamp(1.4rem,3vw,2.6rem);display:flex}.project-feature-ledger dl{gap:1.6rem;margin:0 0 auto;display:grid}.project-feature-ledger dl>div{border-bottom:1px solid #ffffff2e;padding-bottom:1.25rem}.project-feature-ledger dt,.project-feature-ledger dd{margin:0}.project-feature-ledger dt{color:#9bb1ff;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.45rem;font-size:.56rem}.project-feature-ledger dd{color:#dfe5e1;font-size:.78rem}.text-link,.quiet-link{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem 0;font-size:.64rem;text-decoration:none;display:flex}.text-link{border-top:1px solid #fff;margin-top:2.4rem}.quiet-link{color:#aeb8b3}.text-link:hover,.quiet-link:hover{color:var(--amber)}.project-feature-secondary .project-feature-heading{background:var(--ink);color:#fff}.project-feature-secondary .project-feature-heading p{color:#bdc8c2}.project-feature-secondary .project-feature-visual{background:#dfe4e0}.project-feature-secondary .project-feature-ledger{background:var(--cobalt)}.project-feature-secondary .project-feature-ledger dt{color:#fff0c8}.diagram-grid,.map-grid{fill:none;stroke:#1217151f;stroke-width:1px}.diagram-route,.diagram-return,.energy-flow,.map-route{fill:none;stroke:var(--ink);stroke-width:2px}.diagram-route{marker-end:none}.diagram-return{stroke:var(--cobalt);stroke-dasharray:8 9}.diagram-node,.state-row,.register-row,.vision-cell{fill:var(--paper);stroke:var(--ink);stroke-width:1.5px}.diagram-node.active,.state-row.active{fill:var(--cobalt);stroke:var(--cobalt)}.diagram-node.active+.diagram-index,.diagram-node.active~.diagram-title,.diagram-node.active~.diagram-small{fill:#fff}.diagram-port{fill:var(--amber);stroke:var(--ink)}.diagram-index,.diagram-small,.diagram-label{fill:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.7px;font-size:9px}.diagram-title{fill:var(--ink);font-family:var(--font-sans);letter-spacing:.5px;font-size:13px;font-weight:680}.diagram-label{font-size:10px;font-weight:600}.diagram-label.accent{fill:var(--cobalt)}.energy-flow{stroke-width:3px}.energy-flow.solar{stroke:var(--amber)}.energy-flow.load{stroke:var(--rule)}.energy-flow.battery{stroke:var(--cobalt)}.energy-flow.grid{stroke:var(--ink)}.energy-node circle,.energy-node rect{fill:var(--paper);stroke:var(--ink);stroke-width:1.5px}.energy-node.decision rect{fill:var(--ink)}.energy-node text{fill:var(--ink);font-family:var(--font-sans);font-size:13px;font-weight:650}.energy-node.decision text{fill:#fff}.energy-node.decision .diagram-index{fill:#9bb1ff}.energy-node .diagram-small{font-size:8px}.timing-ring{fill:none;stroke:var(--ink);stroke-width:10px;stroke-dasharray:2 8}.timing-ring.inner{stroke:var(--rule);stroke-width:1px;stroke-dasharray:none}.timing-hand{fill:none;stroke:var(--cobalt);stroke-width:6px}.timing-hub{fill:var(--amber);stroke:var(--ink);stroke-width:2px}.safe-range{fill:#2357ff14;stroke:var(--cobalt);stroke-dasharray:8 7}.trace{fill:none;stroke-width:4px}.trace.temp-one{stroke:var(--cobalt)}.trace.temp-two{stroke:var(--amber)}.register-row:nth-child(2n){fill:var(--paper-deep)}.vision-cell-correct{fill:var(--signal-green);stroke:#258453}.vision-cell-present{fill:var(--amber);stroke:#a56800}.vision-cell-neutral{fill:var(--paper-deep);stroke:var(--rule)}.vision-tile-letter{fill:var(--ink);font-family:var(--font-mono);font-size:15px;font-weight:750}.vision-stage .diagram-node,.vision-stage .diagram-index,.vision-stage .diagram-title,.vision-stage .diagram-label{transition:fill .18s var(--ease-out), stroke .18s var(--ease-out)}.vision-stage.is-active .diagram-node{fill:color-mix(in srgb, var(--cobalt) 10%, var(--paper));stroke:var(--cobalt);stroke-width:2px}.vision-stage.is-active .diagram-index,.vision-stage.is-active .diagram-title,.vision-stage.is-active .diagram-label{fill:var(--cobalt-dark)}.vision-scan-layer,.vision-scan-band,.vision-scan-line{pointer-events:none}.vision-scan-band{fill:color-mix(in srgb, var(--cobalt) 18%, transparent)}.vision-scan-line{stroke:var(--cobalt);stroke-linecap:round;stroke-width:3px}.engineering-position{border-block:1px solid var(--ink);background:var(--ink);color:#fff;grid-template-columns:minmax(0,1.15fr) minmax(22rem,.85fr);display:grid}.position-statement{min-height:44rem;padding:var(--section-space) var(--page-pad);border-right:1px solid #46504b;flex-direction:column;justify-content:space-between;display:flex}.position-statement h2{max-width:13ch}.position-statement p{color:#b8c3bd;max-width:62ch;margin:5rem 0 0;font-size:1.05rem}.position-ledger{display:grid}.position-ledger>div{border-bottom:1px solid #46504b;flex-direction:column;justify-content:space-between;padding:clamp(2rem,5vw,4.5rem);display:flex}.position-ledger>div:last-child{border-bottom:0}.position-ledger span{color:var(--amber);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3rem;font-size:.6rem}.position-ledger p{color:#dce2de;max-width:48ch;margin:0}.archive-heading h2{max-width:8ch}.archive-list{border-top:1px solid var(--ink)}.archive-entry{border-bottom:1px solid var(--ink)}.archive-entry>a{grid-template-columns:minmax(18rem,.72fr) minmax(26rem,1fr) 9rem;min-height:22rem;text-decoration:none;display:grid}.archive-title{flex-direction:column;padding:1.5rem 2rem 1.5rem 0;display:flex}.archive-title>span,.archive-meta{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:.58rem}.archive-title h3{margin:auto 0 1rem;font-size:clamp(1.7rem,3vw,3.3rem);font-weight:670;line-height:.96}.archive-title p{max-width:45ch;color:var(--ink-soft);margin:0;font-size:.84rem}.archive-visual{border-inline:1px solid var(--rule);background:var(--paper-deep);transition:background .3s var(--ease-out);align-items:center;display:grid;overflow:hidden}.archive-visual .project-diagram{transition:scale .6s var(--ease-out);padding:1.4rem}.archive-meta{writing-mode:vertical-rl;flex-direction:column;justify-content:space-between;padding:1.5rem 1rem;display:flex}.archive-meta svg{width:1.2rem}.archive-entry>a:hover .archive-visual{background:#d5ddff}.archive-entry>a:hover .project-diagram{scale:1.035}.trajectory{background:var(--cobalt);color:#fff;grid-template-columns:minmax(24rem,.8fr) minmax(0,1.2fr);display:grid}.trajectory-copy{min-height:48rem;padding:var(--section-space) var(--page-pad);border-right:1px solid #ffffff59;flex-direction:column;justify-content:space-between;display:flex}.trajectory-copy h2{max-width:11ch}.trajectory-copy p{color:#dbe3ff;max-width:57ch;margin:4rem 0 2.5rem}.primary-action.inverted{color:var(--ink);background:#fff;border-color:#fff}.primary-action.inverted:hover{background:var(--amber)}.secondary-action.inverted{border-color:#ffffff8c}.secondary-action.inverted:hover{background:#ffffff1f}.trajectory-map{padding:var(--page-pad);align-items:center;display:grid}.trajectory-map svg{width:100%}.map-route{stroke:var(--amber);stroke-width:4px}.trajectory-map circle{fill:var(--amber);stroke:#fff;stroke-width:2px}.trajectory-map text{fill:#fff;font-family:var(--font-mono);font-size:14px;font-weight:700}.trajectory-map .map-small{fill:#dbe3ff;font-size:8px;font-weight:500}.site-footer{background:var(--ink);color:#fff}.footer-call{padding:clamp(4rem, 8vw, 8rem) var(--page-pad);border-bottom:1px solid #47514c;grid-template-columns:minmax(16rem,.55fr) minmax(26rem,1fr);align-items:end;gap:4rem;display:grid}.footer-call p{color:#aab5af;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.68rem}.footer-call>a{letter-spacing:-.04em;justify-content:space-between;align-items:flex-end;gap:2rem;font-size:clamp(2.6rem,6vw,6rem);font-weight:650;line-height:.94;text-decoration:none;display:flex}.footer-call>a:hover{color:var(--amber)}.footer-call svg{flex:none;width:.7em}.footer-ledger{border-bottom:1px solid #47514c;grid-template-columns:repeat(4,1fr);display:grid}.footer-ledger>div{min-height:10rem;padding:1.5rem var(--page-pad);border-right:1px solid #47514c;align-content:start;gap:.45rem;display:grid}.footer-ledger>div:last-child{border-right:0}.footer-ledger span{color:#839089;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem;font-size:.55rem}.footer-ledger strong,.footer-ledger a{width:fit-content;font-size:.78rem;font-weight:550}.footer-note{padding:1rem var(--page-pad);color:#839089;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.52rem}.inner-page{padding:0 var(--page-pad) var(--section-space)}.page-intro{border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,1.25fr) minmax(20rem,.55fr);align-items:end;gap:clamp(3rem,8vw,10rem);min-height:44rem;padding:clamp(5rem,11vw,10rem) 0 clamp(3rem,5vw,5rem);display:grid}.page-intro h1{max-width:13ch;margin-bottom:2rem;font-size:clamp(3.5rem,8vw,6rem);font-weight:710;line-height:.94}.page-intro>div>p{max-width:68ch;color:var(--ink-soft);margin:0;font-size:clamp(1rem,1.4vw,1.22rem)}.page-intro-aside{border-top:1px solid var(--ink);align-self:end;padding:1.5rem 0 0}.intro-ledger{gap:1.4rem;margin:0;display:grid}.intro-ledger>div{grid-template-columns:8rem 1fr;gap:1rem;display:grid}.intro-ledger dt,.intro-ledger dd{margin:0}.intro-ledger dt{color:var(--cobalt);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.57rem}.intro-ledger dd,.intro-note{font-size:.78rem}.intro-note{max-width:48ch;color:var(--ink-soft);margin:0}.project-index{border-top:1px solid var(--ink);margin-top:var(--section-space)}.project-index-entry{border-bottom:1px solid var(--ink);grid-template-columns:minmax(22rem,.78fr) minmax(30rem,1.22fr);display:grid}.project-index-copy{flex-direction:column;min-height:36rem;padding:1.5rem clamp(1.5rem,3vw,3.5rem) 1.5rem 0;display:flex}.project-index-topline{color:var(--ink-soft);font-family:var(--font-mono);justify-content:space-between;font-size:.58rem;display:flex}.project-index-copy h2{max-width:16ch;margin:auto 0 1.3rem;font-size:clamp(2.2rem,4.5vw,4.75rem);font-weight:680;line-height:.96}.project-index-copy>p{max-width:57ch;color:var(--ink-soft);margin-bottom:1.5rem;font-size:.86rem}.project-index-copy>ul{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.project-index-copy>ul li{border:1px solid var(--rule);font-family:var(--font-mono);text-transform:uppercase;padding:.35rem .55rem;font-size:.52rem}.project-index-actions{grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2.2rem;display:grid}.text-link.light,.quiet-link.light{border-color:var(--ink);color:var(--ink)}.text-link.light:hover,.quiet-link.light:hover{color:var(--cobalt)}.project-index-visual{border-left:1px solid var(--ink);background:var(--paper-deep);flex-direction:column;justify-content:center;min-width:0;display:flex}.project-index-entry.featured:nth-child(2) .project-index-visual{background:#dfe5ff}.project-index-entry:not(.featured) .project-index-visual{background:linear-gradient(90deg,#1217150d 1px,#0000 1px) 0 0/25% 100%,#e8ece9}.case-hero{border-bottom:1px solid var(--ink);grid-template-columns:minmax(25rem,.78fr) minmax(34rem,1.22fr);min-height:50rem;display:grid}.case-hero-copy{border-right:1px solid var(--ink);padding:clamp(4rem, 8vw, 8rem) var(--page-pad);flex-direction:column;justify-content:flex-end;display:flex}.case-identity{color:var(--cobalt);font-family:var(--font-mono);text-transform:uppercase;justify-content:space-between;gap:1rem;margin-bottom:clamp(3rem,7vw,7rem);font-size:.6rem;display:flex}.case-hero h1{max-width:13ch;margin-bottom:2rem;font-size:clamp(3rem,6.6vw,6rem);font-weight:700;line-height:.93}.case-hero-copy>p{max-width:60ch;color:var(--ink-soft);margin-bottom:2.5rem}.case-actions{flex-wrap:wrap;gap:.75rem;display:flex}.case-hero-visual{background:linear-gradient(#1217150d 1px, transparent 1px) 0 0 / 100% 20%, var(--paper-deep);flex-direction:column;justify-content:center;min-width:0;display:flex}.case-hero-visual .project-diagram{padding:clamp(1rem,4vw,5rem)}.case-body{padding:var(--section-space) var(--page-pad);grid-template-columns:minmax(18rem,.45fr) minmax(0,1fr);display:grid}.case-facts{padding-right:clamp(2rem,5vw,6rem)}.case-facts dl{top:calc(var(--header-height) + 2rem);gap:1.5rem;margin:0;display:grid;position:sticky}.case-facts dl>div{border-bottom:1px solid var(--rule);padding-bottom:1.25rem}.case-facts dt,.case-facts dd{margin:0}.case-facts dt{color:var(--cobalt);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.45rem;font-size:.56rem}.case-facts dd{font-size:.78rem}.case-narrative{border-left:1px solid var(--ink);max-width:72rem;padding-left:clamp(2rem,6vw,8rem)}.case-narrative>section{grid-template-columns:minmax(12rem,.4fr) minmax(0,1fr);gap:clamp(2rem,5vw,6rem);padding:0 0 clamp(4rem,8vw,8rem);display:grid}.case-narrative h2{margin:0;font-size:clamp(1.7rem,3vw,3rem);font-weight:650;line-height:1}.case-narrative section>p{max-width:68ch;color:var(--ink-soft);margin:0;font-size:1.05rem}.evidence-list{margin:0;padding:0;list-style:none}.evidence-list li{border-bottom:1px solid var(--rule-light);margin-bottom:1.4rem;padding:0 0 1.4rem 2.2rem;position:relative}.evidence-list li:before{border:1px solid var(--ink);content:"";width:.65rem;height:.65rem;position:absolute;top:.42em;left:0}.limitations-section .evidence-list li:before{border-color:var(--amber);background:var(--amber)}.project-photo{border:1px solid var(--ink);background:var(--ink);margin:0 0 clamp(5rem,10vw,10rem)}.project-photo img{width:100%;height:auto}.project-photo figcaption{color:#fff;font-family:var(--font-mono);text-transform:uppercase;justify-content:space-between;gap:2rem;padding:.8rem 1rem;font-size:.55rem;display:flex}.next-project{border-top:1px solid var(--ink);background:var(--cobalt);color:#fff;padding:clamp(3rem, 6vw, 6rem) var(--page-pad);grid-template-columns:10rem 1fr auto;align-items:center;gap:2rem;text-decoration:none;display:grid}.next-project span{font-family:var(--font-mono);text-transform:uppercase;font-size:.58rem}.next-project strong{letter-spacing:-.04em;font-size:clamp(2.4rem,6vw,6rem);font-weight:680}.next-project svg{width:clamp(2rem,5vw,5rem)}.next-project:hover{background:var(--cobalt-dark)}.experience-timeline{margin:var(--section-space) 0 0;border-top:1px solid var(--ink);padding:0;list-style:none}.experience-timeline>li{border-bottom:1px solid var(--ink);grid-template-columns:4rem minmax(10rem,.35fr) minmax(0,1fr);gap:clamp(1rem,4vw,5rem);min-height:24rem;padding:1.5rem 0;display:grid}.timeline-index,.experience-timeline time{font-family:var(--font-mono);font-size:.58rem}.timeline-index{color:var(--cobalt)}.timeline-body{flex-direction:column;display:flex}.timeline-body h2{max-width:24ch;margin-bottom:.8rem;font-size:clamp(2rem,4vw,4.5rem);font-weight:660;line-height:.97}.timeline-body>strong{color:var(--cobalt);font-size:.8rem}.timeline-body>p{max-width:67ch;color:var(--ink-soft);margin:auto 0 1.5rem}.timeline-body>ul{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.timeline-body>ul li{border:1px solid var(--rule);font-family:var(--font-mono);text-transform:uppercase;padding:.3rem .5rem;font-size:.5rem}.about-grid{margin-top:var(--section-space);border-block:1px solid var(--ink);grid-template-columns:minmax(20rem,.7fr) minmax(0,1.3fr);display:grid}.about-statement{border-right:1px solid var(--ink);min-height:42rem;padding:clamp(2rem,5vw,5rem) clamp(2rem,6vw,7rem) clamp(2rem,5vw,5rem) 0}.about-statement h2{font-size:clamp(2.8rem,5vw,5.5rem);font-weight:680}.about-statement p{max-width:54ch;color:var(--ink-soft);margin-top:12rem}.about-principles{grid-template-columns:1fr 1fr;display:grid}.about-principles article{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);flex-direction:column;justify-content:space-between;min-height:21rem;padding:clamp(1.5rem,4vw,4rem);display:flex}.about-principles article:nth-child(2n){border-right:0}.about-principles article:nth-last-child(-n+2){border-bottom:0}.about-principles h3{max-width:12ch;font-size:clamp(1.7rem,3vw,3rem);font-weight:650;line-height:1}.about-principles p{max-width:45ch;color:var(--ink-soft);margin:4rem 0 0;font-size:.82rem}.education-panel{padding:var(--section-space) 0;border-bottom:1px solid var(--ink);grid-template-columns:.6fr 1.4fr;gap:clamp(3rem,8vw,10rem);display:grid}.education-panel h2{margin-bottom:1rem;font-size:clamp(3rem,6vw,6rem);font-weight:680}.education-panel>div:first-child p{color:var(--cobalt);font-family:var(--font-mono);text-transform:uppercase;font-size:.65rem}.education-panel>div:last-child{grid-template-columns:1fr auto;align-content:center;gap:1rem 2rem;display:grid}.education-panel strong{font-size:clamp(1.6rem,3vw,3rem);line-height:1.05}.education-panel span{font-family:var(--font-mono);font-size:.58rem}.education-panel>div:last-child p{max-width:68ch;color:var(--ink-soft);grid-column:1/-1}.about-contact{padding:var(--section-space) 0 0}.about-contact h2{max-width:16ch;margin-bottom:3rem;font-size:clamp(3rem,7vw,6rem);font-weight:680;line-height:.96}.about-contact>div{flex-wrap:wrap;gap:.75rem;display:flex}.cv-sheet{margin-top:var(--section-space);border:1px solid var(--ink);grid-template-columns:minmax(18rem,.52fr) minmax(0,1fr);gap:0;display:grid}.cv-sheet>section{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);min-height:24rem;padding:clamp(2rem,5vw,5rem)}.cv-sheet>section:nth-child(2n){border-right:0}.cv-sheet>section:nth-last-child(-n+2){border-bottom:0}.cv-profile{background:var(--ink);color:#fff}.cv-sheet h2{margin-bottom:3rem;font-size:clamp(2rem,4vw,4rem);font-weight:650}.cv-profile>p{color:#c5d0ca}.cv-profile ul{gap:.7rem;margin:3rem 0 0;padding:0;list-style:none;display:grid}.cv-profile li{font-family:var(--font-mono);text-transform:uppercase;border-top:1px solid #45504a;padding-top:.7rem;font-size:.58rem}.cv-block>article{border-top:1px solid var(--rule);grid-template-columns:1fr auto;gap:2rem;padding:1.5rem 0;display:grid}.cv-block h3{margin-bottom:.25rem;font-size:1.1rem}.cv-block article p{color:var(--cobalt);font-family:var(--font-mono);margin:0;font-size:.58rem}.cv-block time{font-family:var(--font-mono);font-size:.55rem}.not-found{min-height:48rem;padding:var(--section-space) var(--page-pad);flex-direction:column;justify-content:center;display:flex}.not-found>span{color:var(--cobalt);font-family:var(--font-mono);font-size:.6rem}.not-found h1{max-width:13ch;margin:3rem 0 2rem;font-size:clamp(3rem,8vw,6rem);line-height:.94}.not-found p{max-width:60ch;color:var(--ink-soft)}.not-found .primary-action{width:fit-content;margin-top:2rem}@media (max-width:1180px){.hero{grid-template-columns:minmax(22rem,.92fr) minmax(30rem,1.08fr)}.hero h1{font-size:clamp(3rem,5.2vw,4.7rem)}.archive-entry>a{grid-template-columns:minmax(16rem,.72fr) minmax(20rem,1fr) 6rem}}@media (max-width:900px){:root{--header-height:4rem}.wordmark{border-right:0;min-width:0}.nav-menu-trigger{width:6rem}.hero{grid-template-rows:auto auto auto;grid-template-columns:1fr}.hero-copy{border-right:0;border-bottom:1px solid var(--ink);min-height:41rem}.hero-artifact{min-height:38rem}.autonomy-assembly>svg{max-height:none}.signal-chain{grid-template-columns:1fr}.signal-chain li{border-right:0;border-bottom:1px solid var(--rule);grid-template-columns:2rem 8rem 1fr;align-items:center;min-height:0}.signal-chain li:last-child{border-bottom:0}.signal-chain li:after{display:none}.chain-detail{grid-column:auto}.chain-examples{display:none}.section-heading{grid-template-columns:1fr;align-items:start;gap:2rem}.project-feature,.project-feature-heading{grid-template-columns:1fr}.project-feature-heading h3,.project-feature-heading p{grid-column:1}.project-feature-visual{border-right:0;border-bottom:1px solid var(--ink)}.engineering-position,.trajectory{grid-template-columns:1fr}.position-statement,.trajectory-copy{border-bottom:1px solid #46504b;border-right:0;min-height:36rem}.archive-entry>a{grid-template-columns:minmax(14rem,.75fr) minmax(20rem,1.25fr);min-height:20rem}.archive-meta{display:none}.footer-call{grid-template-columns:1fr}.footer-ledger{grid-template-columns:repeat(2,1fr)}.footer-ledger>div:nth-child(2){border-right:0}.footer-ledger>div:nth-child(-n+2){border-bottom:1px solid #47514c}.page-intro{grid-template-columns:1fr;gap:4rem;min-height:42rem}.project-index-entry{grid-template-columns:1fr}.project-index-copy{min-height:30rem;padding-right:0}.project-index-visual{border-top:1px solid var(--ink);border-left:0;min-height:24rem}.case-hero{grid-template-columns:1fr}.case-hero-copy{border-right:0;border-bottom:1px solid var(--ink);min-height:42rem}.case-hero-visual{min-height:30rem}.case-body{grid-template-columns:1fr}.case-facts{padding:0 0 5rem}.case-facts dl{grid-template-columns:1fr 1fr;position:static}.case-narrative{border-top:1px solid var(--ink);border-left:0;padding:5rem 0 0}.experience-timeline>li{grid-template-columns:3rem 9rem 1fr}.about-grid{grid-template-columns:1fr}.about-statement{border-right:0;border-bottom:1px solid var(--ink);min-height:36rem;padding-right:0}.about-statement p{margin-top:8rem}.education-panel,.cv-sheet{grid-template-columns:1fr}.cv-sheet>section{border-right:0}.cv-sheet>section:nth-last-child(-n+2){border-bottom:1px solid var(--ink)}.cv-sheet>section:last-child{border-bottom:0}}@media (max-width:620px){:root{--page-pad:1rem;--section-space:5rem}body{background:linear-gradient(90deg, transparent calc(100% - 1px), #1217150b 0) 0 0 / 25vw 100%, var(--paper)}.wordmark-name{font-size:.7rem}.wordmark-signal{font-size:.5rem}.nav-menu-trigger{width:4.25rem;padding:0 .8rem}.nav-menu-trigger>span:last-child{display:none}.hero-copy{min-height:37rem;padding-top:4rem}.hero h1{max-width:12ch;font-size:clamp(2.85rem,13.5vw,4rem)}.hero-summary{font-size:.92rem}.hero-actions,.trajectory-actions{display:grid}.primary-action,.secondary-action{width:100%}.hero-artifact{min-height:auto}.hero-artifact:before{inset:.7rem}.autonomy-assembly figcaption,.visual-caption{font-size:.48rem;display:grid}.assembly-label text{font-size:11px}.section-heading h2,.position-statement h2,.trajectory-copy h2{font-size:clamp(2.75rem,14vw,4.4rem)}.project-feature-heading{gap:1.5rem}.project-feature-heading>div{gap:1rem}.project-diagram{padding:.65rem}.position-statement{min-height:34rem}.position-statement p{margin-top:4rem;font-size:.94rem}.position-ledger>div{min-height:18rem;padding:2rem 1rem}.archive-entry>a{grid-template-columns:1fr;min-height:0}.archive-title{min-height:17rem;padding-right:0}.archive-visual{border:0;border-top:1px solid var(--rule);min-height:15rem}.trajectory-copy{min-height:40rem}.trajectory-map{min-height:24rem}.footer-call{gap:3rem}.footer-call>a{align-items:flex-start;font-size:clamp(2.4rem,13vw,4rem)}.footer-ledger{grid-template-columns:1fr}.footer-ledger>div,.footer-ledger>div:nth-child(2){border-bottom:1px solid #47514c;border-right:0;min-height:8rem}.footer-ledger>div:last-child{border-bottom:0}.page-intro{min-height:38rem;padding-top:5rem}.page-intro h1{font-size:clamp(3rem,14vw,4.5rem)}.intro-ledger>div{grid-template-columns:7rem 1fr}.project-index-actions{grid-template-columns:1fr}.project-index-entry,.project-index-copy,.project-index-visual,.experience-timeline>li,.timeline-organisation,.timeline-body{box-sizing:border-box;min-width:0;max-width:100%}.project-index-copy>ul,.timeline-body>ul,.project-index-actions,.project-index-actions>*{min-width:0}.project-index-copy h2,.project-index-copy>p,.timeline-organisation>strong,.timeline-organisation>span,.timeline-organisation time,.timeline-body h2,.timeline-body>strong,.timeline-body>p,.project-index-copy>ul li,.timeline-body>ul li{overflow-wrap:anywhere}.project-index-copy>ul li,.timeline-body>ul li{white-space:normal}.project-index-visual .project-diagram{width:100%;max-width:100%}.case-hero-copy{min-height:38rem}.case-hero h1{font-size:clamp(2.8rem,14vw,4.4rem)}.case-facts dl,.case-narrative>section{grid-template-columns:1fr}.project-photo figcaption{display:grid}.next-project{grid-template-columns:1fr auto}.next-project span{grid-column:1/-1}.experience-timeline>li{grid-template-columns:2rem 1fr}.experience-timeline time,.timeline-body{grid-column:2}.timeline-body>p{margin-top:4rem}.about-principles{grid-template-columns:1fr}.about-principles article,.about-principles article:nth-child(2n),.about-principles article:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--rule);min-height:18rem}.about-principles article:last-child{border-bottom:0}.education-panel>div:last-child{grid-template-columns:1fr}.education-panel span,.education-panel>div:last-child p{grid-column:1}.about-contact>div{display:grid}.cv-sheet>section{min-height:0}.cv-block>article{grid-template-columns:1fr;gap:.7rem}}:root{--section-space:clamp(5rem, 9vw, 9rem);--label-size:.78rem;--meta-size:.82rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wordmark-signal{font-size:.72rem}.primary-action,.secondary-action,.text-link,.quiet-link{font-size:.75rem}.hero{grid-template-rows:minmax(42rem,auto) auto}.hero h1{max-width:8ch;margin-bottom:1rem;font-size:clamp(4rem,6.4vw,6.5rem)}.hero-position{letter-spacing:-.035em;max-width:22ch;margin:0 0 1.25rem;font-size:clamp(1.4rem,2.4vw,2.35rem);font-weight:560;line-height:1.08}.hero-position em{color:var(--cobalt);font-style:normal}.hero-summary{max-width:48ch;margin-bottom:1.8rem;font-size:1rem}.signal-chain li{min-height:6.5rem;transition:background .22s var(--ease-out), box-shadow .22s var(--ease-out)}.signal-chain li:hover,.signal-chain li:focus-within{box-shadow:inset 0 3px 0 var(--cobalt);background:#e6ebff}.chain-index{font-size:.72rem}.signal-chain strong{font-size:.8rem}.chain-detail{font-size:.75rem}.chain-examples,.autonomy-assembly figcaption,.visual-caption,.project-photo figcaption{font-size:.68rem}.project-feature-heading{grid-template-columns:minmax(18rem,.8fr) minmax(0,1.2fr);align-items:end}.project-feature-heading>div{grid-column:auto}.project-feature-identity{align-self:stretch;align-items:center;gap:1rem;justify-content:flex-start!important;font-size:.75rem!important}.project-feature-identity>span:last-child{color:var(--ink-soft);white-space:nowrap;margin-left:auto}.project-feature-title{gap:.6rem;text-transform:none!important;display:grid!important}.project-feature-title>span,.case-role{color:var(--cobalt);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem}.project-feature-heading h3{font-size:clamp(2.3rem,4.2vw,4.4rem)}.project-feature-heading p,.project-feature-ledger dd{font-size:.9rem}.project-feature-ledger dt,.case-facts dt{font-size:.72rem}.organization-mark{border:1px solid var(--rule);background:#ffffff9e;flex:none;place-items:center;width:9rem;min-height:4.5rem;padding:.55rem .7rem;display:grid}.organization-mark.compact{width:5.5rem;min-height:3.3rem;padding:.4rem .55rem}.organization-mark img{object-fit:contain;width:100%;height:3.15rem}.organization-mark.compact img{height:2.35rem}.organization-mark.text-mark>span{color:var(--ink);font-family:var(--font-mono);letter-spacing:.04em;text-align:center;text-transform:uppercase;font-size:.66rem;font-weight:720;line-height:1.15}.organization-mark.logo-danstar img{max-width:3.6rem}.organization-mark.logo-phaethon,.organization-mark.logo-remedica,.organization-mark.logo-hkust,.organization-mark.logo-sjwp{width:10.5rem}.organization-mark.logo-phaethon.compact,.organization-mark.logo-remedica.compact,.organization-mark.logo-hkust.compact,.organization-mark.logo-sjwp.compact{width:7rem}.organization-mark.logo-phaethon.compact{width:9rem}.diagram-scroll-hint{display:none}.diagram-index,.diagram-label,.diagram-note,.diagram-small,.trace-legend{font-family:var(--font-mono)}.diagram-index,.diagram-label{letter-spacing:.7px;font-size:12px;font-weight:700}.diagram-note,.diagram-small,.trace-legend{font-size:11px}.diagram-title{font-family:var(--font-sans);font-size:18px;font-weight:680}.diagram-title.large{font-size:23px}.diagram-note,.diagram-small{fill:var(--ink-soft)}.accent{fill:var(--cobalt)}.accent-amber{fill:#a56800}.mission-command,.mission-ack,.energy-path,.energy-feedback,.constraint-link{fill:none;stroke-width:3px}.mission-command,.energy-path,.constraint-link{stroke:var(--cobalt)}.mission-ack{stroke:#b97800;stroke-dasharray:9 8}.command-arrow{fill:var(--cobalt)}.ack-arrow{fill:#b97800}.mission-state,.energy-observation rect,.energy-response rect,.energy-policy,.constraint-band{fill:var(--paper);stroke:var(--ink);stroke-width:1.5px}.mission-state-progress{fill:none;stroke:var(--cobalt);stroke-width:5px}.mission-diagram .mission-step rect{fill:color-mix(in srgb, var(--paper) 86%, white);stroke:var(--rule);stroke-width:1.25px;transition:fill .16s ease-out,stroke .16s ease-out}.mission-diagram .mission-step.is-active rect{fill:color-mix(in srgb, var(--cobalt) 11%, var(--paper));stroke:var(--cobalt);stroke-width:2px}.mission-diagram .mission-step.is-active .diagram-title,.mission-diagram .mission-step.is-active .diagram-small{fill:var(--cobalt-dark)}.mission-example-label{fill:var(--ink-soft)}.mission-endpoint rect{fill:var(--ink);stroke:var(--ink);stroke-width:1.5px;transition:fill .16s ease-out,stroke .16s ease-out}.mission-endpoint text{fill:var(--paper)}.mission-endpoint .diagram-small{fill:color-mix(in srgb, var(--paper) 72%, var(--ink))}.mission-endpoint.is-active rect{fill:color-mix(in srgb, var(--cobalt) 18%, var(--ink));stroke:var(--cobalt);stroke-width:2px}.mission-state-card rect{fill:var(--paper);stroke:var(--rule);stroke-width:1.25px;transition:fill .16s ease-out,stroke .16s ease-out}.mission-state-card.current rect{fill:color-mix(in srgb, var(--signal-green) 12%, var(--paper));stroke:#258453}.mission-state-card.pending rect{fill:#fff2d3;stroke:#b97800;stroke-dasharray:5 4;stroke-width:2px}.mission-state-card.confirmed rect{fill:color-mix(in srgb, var(--cobalt) 12%, var(--paper));stroke:var(--cobalt);stroke-width:2px}.mission-state-card.inactive{opacity:.64}.mission-state-card.confirmed .diagram-title{fill:#176b42}.mission-state-card.confirmed .diagram-small{fill:#176b42;font-weight:700}.mission-endpoint .diagram-index{font-size:10px}.mission-endpoint .diagram-title{font-size:14px}.mission-endpoint .diagram-small,.mission-state-card .diagram-small{font-size:10px}.flow-dot{fill:var(--paper);stroke-width:3px}.command-dot,.energy-dot{stroke:var(--cobalt)}.ack-dot{stroke:#b97800}.energy-policy{fill:var(--ink)}.policy-label,.policy-small,.policy-title{fill:#fff}.constraint-band{fill:#fff2d3;stroke:#b97800}.energy-path.pv{stroke:#b97800}.energy-path.demand{stroke:var(--ink)}.energy-path.price,.energy-path.grid{stroke-dasharray:7 6}.energy-feedback{stroke:var(--rule);stroke-dasharray:4 7}.soc-fill,.dispatch-soc{fill:color-mix(in srgb, var(--signal-green) 65%, transparent);pointer-events:none}.timing-hand{fill:none;stroke:var(--amber);stroke-linecap:round;stroke-width:5px}.timing-hub{fill:var(--cobalt)}.trace{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.trace.temp-one,.trace-legend .temp-one{stroke:var(--cobalt)}.trace.temp-two,.trace-legend .temp-two{stroke:#5980d8}.trace.light,.trace-legend .light{stroke:#b97800}.trace-legend line{stroke-width:4px}.trace-legend text{fill:var(--ink-soft);font-size:11px}.register-highlight{fill:none;stroke:var(--amber);stroke-width:3px;pointer-events:none}.archive-entry>a{grid-template-columns:minmax(18rem,.72fr) minmax(26rem,1fr) 11rem}.archive-title>span,.archive-meta{font-size:.72rem}.archive-title p{font-size:.9rem}.archive-meta{writing-mode:horizontal-tb;text-align:center;background:0 0;justify-content:center;align-items:center;gap:2rem}.archive-entry>a:hover .archive-meta,.archive-entry>a:focus-visible .archive-meta{background:var(--cobalt);color:#fff}.archive-entry>a:hover .archive-meta svg,.archive-entry>a:focus-visible .archive-meta svg{translate:.35rem}.archive-meta svg{transition:translate .22s var(--ease-out)}.trajectory-copy{min-height:42rem}.trajectory-map{min-height:38rem;padding:var(--page-pad);position:relative}.trajectory-map svg{inset:10% var(--page-pad);width:calc(100% - (2 * var(--page-pad)));height:80%;position:absolute}.trajectory-map ol{margin:0;padding:0;list-style:none;position:absolute;inset:0}.trajectory-map li{background:var(--cobalt);grid-template-columns:auto 1fr;gap:.25rem .75rem;width:max-content;max-width:14rem;padding:.8rem;display:grid;position:absolute}.trajectory-map li strong{font-size:1rem}.trajectory-map li>span:last-child{color:#dbe3ff;font-family:var(--font-mono);grid-column:2;font-size:.72rem}.map-node{background:var(--amber);border:2px solid #fff;border-radius:50%;width:.8rem;height:.8rem;margin-top:.25rem}.stop-cyprus{bottom:18%;left:7%}.stop-copenhagen{top:28%;left:43%}.stop-hong-kong{top:39%;right:4%}.footer-call{align-items:center}.footer-call>div{gap:1rem;display:grid}.email-control{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.email-control a{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.9rem}.email-control button{border:1px solid var(--ink);min-height:2.6rem;color:var(--ink);cursor:pointer;font:.7rem var(--font-mono);letter-spacing:.04em;text-transform:uppercase;background:0 0;padding:.65rem .8rem}.email-control button:hover{background:var(--paper-deep)}.email-control.inverted a{color:#fff}.email-control.inverted button{color:#fff;border-color:#6a7570}.email-control.inverted button:hover{background:#2d3531}.footer-ledger span,.footer-note{font-size:.72rem}.page-intro{min-height:36rem}.intro-ledger dt,.project-index-topline,.case-identity,.experience-timeline time,.timeline-index,.education-panel span,.cv-block time{font-size:.75rem}.intro-ledger dd,.intro-note,.case-facts dd{font-size:.88rem}.project-index-copy{min-height:31rem}.project-index-entry.featured .project-index-copy{min-height:36rem}.project-index-identity{color:var(--cobalt);font:.76rem var(--font-mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:1rem;margin-top:2rem;display:flex}.project-index-copy h2{margin:auto 0 1rem;font-size:clamp(2.15rem,4vw,4.25rem)}.project-index-copy>p{font-size:.92rem}.project-index-copy>ul li{font-size:.68rem}.case-hero{min-height:43rem}.case-identity>div{align-items:center;gap:1rem;display:flex}.case-role{margin-bottom:.7rem;display:block}.case-hero h1{font-size:clamp(2.9rem,5.7vw,5.3rem)}.case-project-nav{border-top:1px solid var(--ink);grid-template-columns:1fr 1fr;display:grid}.case-project-link,.case-project-boundary{min-height:14rem;padding:clamp(2rem, 4vw, 4rem) var(--page-pad);border-right:1px solid var(--ink);grid-template-columns:1fr auto;align-content:space-between;gap:2rem;text-decoration:none;display:grid}.case-project-link.next,.case-project-boundary.end{border-right:0}.case-project-link span,.case-project-boundary span{color:var(--cobalt);font:.75rem var(--font-mono);letter-spacing:.05em;text-transform:uppercase;grid-column:1/-1}.case-project-link strong,.case-project-boundary strong{max-width:17ch;font-size:clamp(1.5rem,2.8vw,2.8rem);line-height:1}.case-project-link svg{width:2rem;transition:translate .22s var(--ease-out);align-self:end}.case-project-link.previous svg{rotate:180deg}.case-project-link:hover,.case-project-link:focus-visible{background:var(--cobalt);color:#fff}.case-project-link:hover span,.case-project-link:focus-visible span{color:#dbe3ff}.case-project-link.previous:hover svg{translate:-.35rem}.case-project-link.next:hover svg{translate:.35rem}.case-project-boundary{color:var(--ink-soft);background:var(--paper-deep)}.experience-timeline>li{grid-template-columns:3rem minmax(13rem,.42fr) minmax(0,1fr);min-height:0;padding:clamp(2rem,4vw,3.5rem) 0}.timeline-organisation{flex-direction:column;align-items:flex-start;gap:.55rem;display:flex}.timeline-organisation>strong{max-width:24ch;font-size:.92rem;line-height:1.25}.timeline-organisation>span{color:var(--ink-soft);font:.74rem var(--font-mono)}.timeline-organisation time{margin-top:.5rem}.timeline-body h2{font-size:clamp(2rem,3.5vw,3.7rem)}.timeline-body>strong{font-size:.92rem}.timeline-body>p{margin:2.5rem 0 1.5rem;font-size:.95rem}.timeline-body>ul li{font-size:.68rem}.about-statement{min-height:34rem}.academic-trajectory{margin:0;padding:0;list-style:none;display:grid}.academic-trajectory li{border-bottom:1px solid var(--rule);grid-template-columns:2.5rem auto 1fr;align-items:center;gap:1.2rem;min-height:8.5rem;padding:1.3rem clamp(1.5rem,4vw,4rem);display:grid}.academic-trajectory li:last-child{border-bottom:0}.academic-trajectory li>span:first-child{color:var(--cobalt);font:.75rem var(--font-mono)}.academic-trajectory strong{font-size:clamp(1.25rem,2vw,2rem)}.academic-trajectory p{color:var(--ink-soft);margin:.35rem 0 0;font-size:.85rem}.education-panel>div:first-child{justify-items:start;display:grid}.education-panel>div:first-child .organization-mark{margin-bottom:2rem}.education-panel>div:first-child p{font-size:.75rem}.cv-sheet{grid-template-columns:minmax(18rem,.48fr) minmax(0,1fr)}.cv-sheet>section{min-height:0}.cv-profile{grid-row:span 2}.cv-profile li{font-size:.72rem}.cv-block>article{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.25rem}.cv-block article p{font-size:.72rem}.cv-download-panel{background:#e5eaff;grid-column:1/-1;justify-content:space-between;align-items:center;gap:3rem;display:flex;border-bottom:0!important;border-right:0!important}.cv-download-panel h2{margin-bottom:1rem}.cv-download-panel p{max-width:60ch;color:var(--ink-soft);margin:0}@media (max-width:900px){.hero{grid-template-rows:auto auto auto}.hero-copy{min-height:34rem}.project-feature-heading{grid-template-columns:1fr}.project-feature-identity,.project-feature-title{grid-column:1!important}.archive-entry>a{grid-template-columns:minmax(16rem,.8fr) minmax(22rem,1.2fr)}.archive-meta{border-top:1px solid var(--rule);flex-direction:row;grid-column:1/-1;min-height:4.5rem}.trajectory-map{min-height:34rem}.case-project-link,.case-project-boundary{min-height:12rem}.experience-timeline>li{grid-template-columns:2.5rem minmax(11rem,.42fr) 1fr;gap:1.5rem}.academic-trajectory li{grid-template-columns:2.5rem auto 1fr}.cv-sheet{grid-template-columns:1fr}.cv-profile{grid-row:auto}.cv-sheet>section{border-right:0;border-bottom:1px solid var(--ink)}}@media (max-width:620px){.wordmark-signal{font-size:.62rem}.hero h1{font-size:clamp(3.3rem,17vw,5rem)}.hero-position{font-size:1.35rem}.signal-chain li{min-height:7.5rem}.diagram-scroll{overscroll-behavior-inline:contain;scrollbar-color:var(--cobalt) var(--rule-light);scrollbar-width:thin;overflow-x:auto}.diagram-scroll svg{width:680px;max-width:none}.diagram-scroll-hint{color:var(--ink-soft);font:.7rem var(--font-mono);letter-spacing:.04em;text-transform:uppercase;margin-top:.7rem;display:block}.project-feature-identity{grid-template-columns:auto 1fr;display:grid!important}.project-feature-identity>span:last-child{grid-column:1/-1;margin-left:0}.organization-mark{width:7.5rem}.organization-mark.logo-phaethon,.organization-mark.logo-remedica,.organization-mark.logo-hkust,.organization-mark.logo-sjwp{width:9rem}.archive-entry>a{grid-template-columns:1fr}.archive-meta{grid-column:1}.trajectory-map{align-items:stretch;min-height:31rem}.trajectory-map svg{display:none}.trajectory-map ol{align-content:center;gap:0;display:grid;position:relative}.trajectory-map li{border-bottom:1px solid #ffffff59;width:100%;max-width:none;padding:1.4rem 0;position:relative;inset:auto}.trajectory-map li:after{background:var(--amber);content:"";width:.45rem;height:.45rem;position:absolute;bottom:-.25rem;left:.3rem;rotate:45deg}.trajectory-map li:last-child:after{display:none}.footer-call{grid-template-columns:1fr}.footer-call>a{font-size:clamp(2.35rem,12vw,3.8rem)}.email-control{flex-direction:column;align-items:flex-start}.page-intro{min-height:32rem}.project-index-copy,.project-index-entry.featured .project-index-copy{min-height:28rem}.case-identity{align-items:flex-start}.case-identity>div{flex-direction:column;align-items:flex-start}.case-project-nav{grid-template-columns:1fr}.case-project-link,.case-project-boundary{border-right:0;border-bottom:1px solid var(--ink)}.experience-timeline>li{grid-template-columns:2rem 1fr}.timeline-organisation,.timeline-body{grid-column:2}.timeline-body{margin-top:1rem}.timeline-body>p{margin-top:1.75rem}.about-grid{grid-template-columns:1fr}.about-statement{border-right:0;border-bottom:1px solid var(--ink);min-height:28rem}.about-statement p{margin-top:4rem}.academic-trajectory li{grid-template-columns:2rem 1fr}.academic-trajectory .organization-mark,.academic-trajectory li>div{grid-column:2}.cv-block>article{grid-template-columns:auto 1fr}.cv-block time{grid-column:2}.cv-download-panel{flex-direction:column;align-items:flex-start}}.archive-grid{grid-template-columns:minmax(18rem,.72fr) minmax(26rem,1fr) 11rem;min-height:22rem;display:grid}.archive-title h3 a{text-decoration:none}.archive-grid:hover .archive-visual,.archive-grid:focus-within .archive-visual{background:#d5ddff}.archive-grid:hover .project-diagram,.archive-grid:focus-within .project-diagram{scale:1.035}.archive-meta{text-decoration:none}.archive-meta:hover,.archive-meta:focus-visible{background:var(--cobalt);color:#fff}.archive-meta:hover svg,.archive-meta:focus-visible svg{translate:.35rem}@media (max-width:900px){.archive-grid{grid-template-columns:minmax(16rem,.8fr) minmax(22rem,1.2fr)}.archive-grid .archive-meta{border-top:1px solid var(--rule);flex-direction:row;grid-column:1/-1;min-height:4.5rem;display:flex}}@media (max-width:620px){.archive-grid{grid-template-columns:1fr}.archive-grid .archive-meta{grid-column:1}}.wordmark{transition:background .22s var(--ease-out), color .22s var(--ease-out);position:relative}.wordmark:after{background:var(--cobalt);content:"";transform-origin:0;height:3px;transition:scale .22s var(--ease-out);position:absolute;bottom:0;left:0;right:0;scale:0 1}.wordmark:hover,.wordmark:focus-visible{background:#e6ebff}.wordmark:hover:after,.wordmark:focus-visible:after,.wordmark.is-active:after{scale:1}.wordmark.is-active .wordmark-signal{color:var(--cobalt-dark)}.hero-degree{max-width:46ch;color:var(--cobalt-dark);font-family:var(--font-mono);letter-spacing:.055em;text-transform:uppercase;margin:0 0 1.4rem;font-size:.76rem;font-weight:650;line-height:1.45}.feedback-path{fill:none;stroke:color-mix(in srgb, var(--cobalt) 58%, white);stroke-dasharray:9 8;stroke-linecap:round;stroke-width:4px}.feedback-arrow{fill:color-mix(in srgb, var(--cobalt) 58%, white)}.controller-module rect{fill:#1d2421;stroke:var(--ink);stroke-width:2px}.controller-module circle{fill:var(--cobalt);stroke:color-mix(in srgb, var(--cobalt) 28%, white);stroke-width:1px}.controller-module text{fill:#fff;font:700 13px var(--font-mono);letter-spacing:1px}.controller-module path{fill:none;stroke:color-mix(in srgb, var(--cobalt) 58%, white);stroke-width:3px}.cable{stroke-width:14px;stroke-linecap:round;stroke-linejoin:round}.cable-live{stroke-dasharray:9 18;stroke-linecap:round;stroke-width:2.75px;animation:none}.cable-attachment rect{fill:#181e1b;stroke:var(--ink);stroke-width:2px}.cable-attachment line{stroke:var(--rule);stroke-width:1.5px}.encoder-node .encoder-mount,.encoder-node .encoder-collar{fill:color-mix(in srgb, var(--ink) 86%, white);stroke:var(--ink);stroke-width:2px}.encoder-node .encoder-collar{fill:var(--ink)}.encoder-node .encoder-shell{fill:var(--paper-deep);stroke:var(--ink);stroke-width:2px}.encoder-node .encoder-core{fill:color-mix(in srgb, var(--cobalt) 58%, white);stroke:#fff;stroke-width:1.5px}.assembly-label text{font-size:15px}.assembly-label .label-detail{font-size:10.5px}.project-feature-heading{grid-template-columns:minmax(17rem,.68fr) minmax(0,1.32fr);align-items:stretch;gap:clamp(2rem,5vw,5rem)}.project-feature-heading>.project-identity-block,.project-feature-heading>.project-feature-title{grid-column:auto;display:grid}.project-identity-block{font-family:var(--font-mono);align-content:start;gap:.85rem}.project-identity-role{color:var(--cobalt-dark);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:700}.project-identity-organization{align-items:center;gap:1rem;display:flex}.project-identity-organization strong{max-width:24ch;font-family:var(--font-sans);letter-spacing:-.015em;text-transform:none;font-size:1rem;font-weight:650;line-height:1.2}.project-identity-block time{color:var(--ink-soft);font-variant-numeric:tabular-nums;letter-spacing:.035em;font-size:.76rem;line-height:1.4}.project-feature-title{align-content:end;gap:1.35rem}.project-feature-title p{max-width:56ch;color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.55}.project-feature-secondary .project-identity-role{color:color-mix(in srgb, var(--cobalt) 35%, white)}.project-feature-secondary .project-identity-organization strong,.project-feature-secondary .project-feature-title h3{color:#fff}.project-feature-secondary .project-identity-block time,.project-feature-secondary .project-feature-title p{color:#d7dfda}.project-feature-secondary .organization-mark{background:#f7f8f7;border-color:#6a7570}.project-feature-secondary ::selection{color:var(--ink);background:#9eb2ff}.project-index-topline{justify-content:flex-start}.project-index-copy>.project-identity-block{margin-top:1.4rem}.project-index-copy h2{margin-top:auto}.project-index-entry.featured:nth-child(2) .project-identity-role{color:var(--cobalt-dark)}.project-index-entry.featured:nth-child(2) .project-identity-organization strong{color:var(--ink)}.project-index-entry.featured:nth-child(2) .project-identity-block time{color:var(--ink-soft)}.about-page .page-intro-aside{align-self:center}.project-index-entry.featured:nth-child(2) .organization-mark{background:#f7f8f7;border-color:#748079}.selected-work .project-identity-block{gap:clamp(.95rem,1.45vw,1.2rem)}.selected-work .project-identity-role{font-size:clamp(.88rem,1.1vw,1rem)}.selected-work .project-identity-organization{gap:clamp(1.1rem,1.6vw,1.4rem)}.selected-work .project-identity-organization strong{max-width:22ch;font-size:clamp(1.2rem,1.55vw,1.5rem);line-height:1.16}.selected-work .project-identity-block time{letter-spacing:.045em;font-size:clamp(.86rem,1.05vw,.98rem)}.selected-work .organization-mark.compact{width:7rem;min-height:4.1rem;padding:.48rem .65rem}.selected-work .organization-mark.compact img{height:3rem}.selected-work .organization-mark.logo-phaethon.compact{width:10.25rem}.case-hero-copy>.project-identity-block{margin-bottom:clamp(2.5rem,6vw,5.5rem)}.mission-diagram .mission-step .diagram-title{font-size:16px}.mission-diagram .mission-step .diagram-small{font-size:9px}.mission-diagram .mission-step .mission-step-note{letter-spacing:.35px}@media (max-width:620px){.project-diagram.visual-dispatch .diagram-scroll{overflow-x:clip}.project-diagram.visual-dispatch .diagram-scroll svg{width:100%;max-width:100%}.project-diagram.visual-dispatch .diagram-scroll-hint{display:none}.dispatch-diagram.is-compact .diagram-index{font-size:9px}.dispatch-diagram.is-compact .dispatch-label{letter-spacing:.15px;font-size:13px}.dispatch-diagram.is-compact .diagram-label{letter-spacing:.35px;font-size:8px}.project-diagram.visual-vision .diagram-scroll{overflow-x:clip}.project-diagram.visual-vision .diagram-scroll svg{width:100%;max-width:100%}.project-diagram.visual-mission .diagram-scroll{overflow-x:clip}.project-diagram.visual-mission .diagram-scroll svg{width:100%;max-width:100%}.project-diagram.visual-mission .diagram-scroll-hint{display:none}.mission-diagram-compact .diagram-label{font-size:10px}.mission-diagram-compact .diagram-index{font-size:9px}.mission-diagram-compact .diagram-title{font-size:14px}.mission-diagram-compact .diagram-small,.mission-diagram-compact .diagram-note{font-size:10px}}.soc-gauge,.dispatch-gauge{fill:#1217151f;stroke:currentColor;stroke-width:1px}.energy-response .soc-fill,.dispatch-soc{fill:color-mix(in srgb, var(--signal-green) 68%, transparent)}.energy-response text,.dispatch-label{pointer-events:none}.project-diagram.visual-energy{container-type:inline-size}.energy-loop .energy-primary-path,.energy-loop .energy-constraint-path,.energy-loop .energy-feedback-path{fill:none;stroke-linecap:round;stroke-linejoin:round}.energy-loop .energy-primary-path{stroke:var(--cobalt);stroke-width:3px}.energy-loop .energy-constraint-path{stroke:#b97800;stroke-width:2.5px}.energy-loop .energy-feedback-path{stroke:#657069;stroke-width:2.5px;stroke-dasharray:7 7}.energy-loop .constraint-arrow{fill:#b97800}.energy-loop .feedback-arrow{fill:#657069}.energy-loop .energy-stage rect,.energy-loop .energy-constraints rect{fill:var(--paper);stroke:var(--ink);stroke-width:1.5px;transition:fill .16s ease-out,stroke .16s ease-out}.energy-loop .energy-policy-stage rect{fill:var(--ink);stroke:var(--ink)}.energy-loop .energy-policy-stage .diagram-title{fill:#fff}.energy-loop .energy-constraints rect{fill:#fff2d3;stroke:#b97800}.energy-loop .energy-constraints .diagram-index{font-size:15px}.energy-loop .energy-stage.is-active rect{fill:color-mix(in srgb, var(--cobalt) 10%, var(--paper));stroke:var(--cobalt);stroke-width:2.25px}.energy-loop .energy-policy-stage.is-active rect{fill:color-mix(in srgb, var(--cobalt) 22%, var(--ink))}.energy-loop .energy-stage.is-active .diagram-title,.energy-loop .energy-stage.is-active .diagram-index,.energy-loop .energy-stage.is-active .diagram-small{fill:var(--cobalt-dark)}.energy-loop .energy-policy-stage.is-active .diagram-title{fill:#fff}.energy-loop .energy-environment .soc-gauge{fill:#1217151f;stroke:var(--ink);stroke-width:1px}.energy-loop .energy-environment .soc-fill{fill:color-mix(in srgb, var(--signal-green) 68%, transparent);pointer-events:none}.energy-loop .energy-environment .soc-gauge,.energy-loop .energy-environment .soc-fill{transition:none}.energy-loop .diagram-index{font-size:10px}.energy-loop .diagram-title{font-size:15px}.energy-loop .diagram-small{font-size:10px}.energy-loop .flow-dot{fill:var(--paper);stroke:var(--cobalt);stroke-width:3px;pointer-events:none}.energy-loop .energy-feedback-dot{stroke:#657069}@container (max-width:560px){.project-diagram.visual-energy .diagram-scroll{overscroll-behavior-inline:contain;scrollbar-color:var(--cobalt) var(--rule-light);scrollbar-width:thin;overflow-x:auto}.project-diagram.visual-energy .diagram-scroll svg{width:560px;max-width:none}.project-diagram.visual-energy .diagram-scroll-hint{color:var(--ink-soft);font:.7rem var(--font-mono);letter-spacing:.04em;text-transform:uppercase;margin-top:.7rem;display:block}}@media (max-width:620px){.project-diagram.visual-energy .diagram-scroll{overflow-x:clip}.project-diagram.visual-energy .diagram-scroll svg{width:100%;max-width:100%}.project-diagram.visual-energy .diagram-scroll-hint{display:none}.energy-loop-compact .diagram-index{font-size:9px}.energy-loop-compact .diagram-title{font-size:14px}.energy-loop-compact .diagram-small{font-size:10px}}.timing-state-label.long{letter-spacing:.15px;font-size:15px}.dispatch-diagram .dispatch-route,.dispatch-diagram .dispatch-dot{pointer-events:none}.dispatch-diagram .dispatch-node-background{fill:var(--paper)}.dispatch-diagram .dispatch-node-border{fill:none;stroke:var(--ink);stroke-width:1.5px;pointer-events:none}.dispatch-diagram .dispatch-stage-fill{pointer-events:none}.dispatch-diagram .dispatch-stage-fill.is-processing{fill:#dce6ff}.dispatch-diagram .dispatch-stage-fill.is-completed{fill:#edf2ff}.dispatch-diagram .dispatch-dot{fill:var(--paper);stroke:var(--cobalt);stroke-width:3px}.dispatch-diagram .dispatch-soc{fill:#4f9a85}@media (max-width:1500px){.project-diagram.visual-dispatch .diagram-scroll{overflow-x:clip}.project-diagram.visual-dispatch .diagram-scroll svg{width:100%;max-width:100%}.project-diagram.visual-dispatch .diagram-scroll-hint{display:none}.dispatch-diagram.is-compact .diagram-index{font-size:9px}.dispatch-diagram.is-compact .dispatch-label{letter-spacing:.15px;font-size:13px}.dispatch-diagram.is-compact .diagram-label{letter-spacing:.35px;font-size:8px}}.position-ledger span{margin-bottom:1.75rem;font-size:.75rem}.position-ledger p{color:#e2e7e4;font-size:1rem;line-height:1.55}.trajectory-map{grid-template-rows:minmax(19rem,1fr) auto;align-content:center;min-height:40rem;padding:clamp(1.5rem,4vw,4rem);display:grid}.trajectory-map svg{align-self:center;width:100%;height:auto;position:relative;inset:auto}.trajectory-map .map-grid{stroke:#ffffff21}.map-land path{fill:#ffffff17;stroke:#ffffff6b;stroke-width:1px}.trajectory-map .map-route{stroke:var(--amber);stroke-linecap:round;stroke-width:3.5px}.map-coordinate circle:first-child{fill:var(--cobalt);stroke:#fff;stroke-width:2px}.map-coordinate circle:nth-child(2){fill:var(--amber)}.map-coordinate text,.map-caption{fill:#fff;font-family:var(--font-mono);letter-spacing:.5px;font-size:11px;font-weight:700}.map-caption{fill:#dbe3ff;font-size:11px;font-weight:500}.trajectory-map ol{border-top:1px solid #ffffff73;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative;inset:auto}.trajectory-map li,.trajectory-map .stop-cyprus,.trajectory-map .stop-copenhagen,.trajectory-map .stop-hong-kong{background:0 0;border-right:1px solid #ffffff59;align-content:start;width:auto;max-width:none;min-height:8.5rem;padding:1.25rem;position:relative;inset:auto}.trajectory-map li:last-child{border-right:0}.map-node{width:2rem;height:2rem;color:var(--amber);font:700 .68rem var(--font-mono);background:0 0;border:1px solid #fff;border-radius:0;place-items:center;margin:0;display:grid}.trajectory-map li>span:last-child{font-size:.74rem;line-height:1.4}.about-page .page-intro{min-height:30rem;padding-top:clamp(4.5rem,8vw,7rem)}.about-grid{grid-template-columns:minmax(18rem,.8fr) minmax(0,1.2fr);margin-top:clamp(4rem,7vw,7rem)}.about-statement{flex-direction:column;justify-content:space-between;min-height:27rem;display:flex}.about-statement p{margin-top:4rem}.about-contact h2{max-width:19ch;font-size:clamp(2.7rem,5.7vw,5.35rem)}.about-contact>div{align-items:stretch}@media (max-width:900px){.project-feature-heading{gap:2.5rem}.project-feature-heading>.project-identity-block,.project-feature-heading>.project-feature-title{grid-column:1!important}.trajectory-map{min-height:34rem}.about-page .page-intro{min-height:32rem}.about-page .page-intro-aside{align-self:end}.about-grid{grid-template-columns:1fr}}@media (max-width:620px){.hero-degree{margin-bottom:1rem;font-size:.7rem}.assembly-label text{font-size:18px}.assembly-label .label-detail{font-size:11px}.project-identity-organization{flex-direction:column;align-items:flex-start}.project-identity-organization strong{font-size:.95rem}.selected-work .project-identity-role{font-size:.82rem}.selected-work .project-identity-organization strong{font-size:1.08rem}.selected-work .project-identity-block time{font-size:.8rem}.selected-work .organization-mark.compact{width:6.15rem;min-height:3.7rem}.selected-work .organization-mark.logo-phaethon.compact{width:8.65rem}.project-index-copy>.project-identity-block{margin-top:1rem}.position-ledger span{margin-bottom:1.1rem}.position-ledger p{font-size:.95rem}.trajectory-map{grid-template-rows:auto auto;min-height:0;padding:1rem}.trajectory-map svg{min-height:12rem;display:block}.trajectory-map ol{grid-template-columns:1fr}.trajectory-map li,.trajectory-map .stop-cyprus,.trajectory-map .stop-copenhagen,.trajectory-map .stop-hong-kong{border-bottom:1px solid #ffffff59;border-right:0;min-height:0;padding:1.2rem 0}.trajectory-map li:last-child{border-bottom:0}.trajectory-map li:after,.map-caption{display:none}.about-page .page-intro{min-height:31rem}.about-statement{min-height:24rem}.about-statement p{margin-top:3rem}.about-contact h2{font-size:clamp(2.45rem,12vw,3.8rem)}.about-contact>div{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.autonomy-assembly .assembly-svg{height:auto;display:block}.autonomy-assembly .base-fasteners circle,.autonomy-assembly .joint-bolts circle,.autonomy-assembly .head-fasteners circle{fill:var(--ink);stroke:var(--paper-deep);stroke-width:1.5px}.autonomy-assembly .controller-mount{fill:color-mix(in srgb, var(--ink) 86%, white);stroke:var(--ink);stroke-width:2px}.autonomy-assembly .controller-divider{stroke:color-mix(in srgb, var(--ink) 58%, white);stroke-width:1px}.autonomy-assembly .controller-connector rect{fill:var(--ink);stroke:var(--ink);stroke-width:1.75px}.autonomy-assembly .controller-connector line{stroke:var(--rule);stroke-width:1.5px}.autonomy-assembly .feedback-port circle{fill:color-mix(in srgb, var(--cobalt) 58%, white);stroke:#fff;stroke-width:1px}.autonomy-assembly .joint-collar{fill:none;stroke:#6d7872;stroke-width:3px}.autonomy-assembly .motor-indicator path{fill:none;stroke:#fff;stroke-width:2px}.autonomy-assembly .wrist-collar rect{fill:color-mix(in srgb, var(--ink) 86%, white);stroke:var(--ink);stroke-width:2px}.autonomy-assembly .wrist-collar line{stroke:var(--rule);stroke-width:2px}.autonomy-assembly .cable-socket .socket-mount,.autonomy-assembly .cable-socket .socket-collar,.autonomy-assembly .cable-socket .socket-relief{fill:color-mix(in srgb, var(--ink) 86%, white);stroke:var(--ink);stroke-width:2px}.autonomy-assembly .cable-socket .socket-collar{fill:var(--ink)}.autonomy-assembly .cable-socket line{stroke:var(--rule);stroke-width:1.5px}.autonomy-assembly .sensor-activity{fill:none;stroke:color-mix(in srgb, var(--cobalt) 50%, white);stroke-width:3px}.autonomy-assembly .cable{stroke-width:14px;stroke-linecap:round;stroke-linejoin:round}.autonomy-assembly .cable-signal,.autonomy-assembly .feedback-pulse{fill:none;stroke-linecap:round;stroke-linejoin:round}.autonomy-assembly .cable-signal{stroke:var(--amber);stroke-dasharray:8 19;stroke-dashoffset:0;stroke-width:2.75px;animation:1.9s linear infinite autonomy-command-flow}@keyframes autonomy-command-flow{to{stroke-dashoffset:-27px}}.autonomy-assembly .encoder-node path{fill:none;stroke:var(--ink);stroke-width:1.5px}.autonomy-assembly .feedback-path,.autonomy-assembly .feedback-pulse{stroke:color-mix(in srgb, var(--cobalt) 52%, white);stroke-width:4px}.autonomy-assembly .feedback-path{stroke-dasharray:none}.autonomy-assembly .feedback-pulse{stroke:color-mix(in srgb, var(--cobalt) 30%, white);stroke-dasharray:18 560;stroke-dashoffset:0;stroke-width:4.5px;opacity:0;animation:8.4s linear infinite autonomy-feedback-return}@keyframes autonomy-feedback-return{0%,70%{stroke-dashoffset:0;opacity:0}72%{stroke-dashoffset:0;opacity:1}90%{stroke-dashoffset:-560px;opacity:1}92%,to{stroke-dashoffset:-560px;opacity:0}}.autonomy-assembly .assembly-label path{stroke-linecap:square;stroke-linejoin:miter}.autonomy-assembly .assembly-label circle{stroke:var(--paper);stroke-width:1.5px}.autonomy-assembly .assembly-label text{font-size:18px}.autonomy-assembly .assembly-label .label-detail{letter-spacing:.65px;font-size:13.5px}.autonomy-assembly .assembly-label .label-index{fill:var(--cobalt-dark);letter-spacing:.5px;font-size:11px}@media (min-width:901px) and (max-width:1100px){.autonomy-assembly .assembly-label .label-detail{font-size:16.5px}}@media (max-width:620px){.autonomy-assembly .assembly-label text{letter-spacing:.7px;font-size:25px}.autonomy-assembly .assembly-label .label-detail{letter-spacing:.25px;font-size:22px}.autonomy-assembly .assembly-label .label-index{font-size:16px}.autonomy-assembly .decide-label .label-detail,.autonomy-assembly .act-label .label-detail,.autonomy-assembly .sense-label .label-detail{font-size:18px}}@media (prefers-reduced-motion:reduce){.autonomy-assembly .cable-signal{stroke-dashoffset:0;animation:none}.autonomy-assembly .feedback-pulse{opacity:0;stroke-dashoffset:0;animation:none}}.trajectory-map .map-land path{fill:#d8e2f5;stroke:#12171594;stroke-width:.8px}.trajectory-map .map-route,.trajectory-map .map-route-progress{fill:none;stroke:var(--cobalt);stroke-width:3px}.trajectory-map .map-arrow path,.trajectory-map .map-arrow-static path{fill:var(--cobalt);stroke:var(--paper);stroke-width:1px}.trajectory-map .map-coordinate .map-marker-ring{fill:var(--paper);stroke:var(--ink);stroke-width:2px}.trajectory-map .map-coordinate .map-marker-dot{fill:var(--ink);stroke:var(--paper);stroke-width:1px}.trajectory-map .map-coordinate-completed .map-marker-ring{fill:#d8e2f5;stroke:var(--cobalt-dark)}.trajectory-map .map-coordinate-completed .map-marker-dot{fill:var(--cobalt-dark)}.trajectory-map .map-coordinate-active .map-marker-ring{fill:var(--paper);stroke:var(--cobalt);stroke-width:2.6px}.trajectory-map .map-coordinate-active .map-marker-dot{fill:var(--cobalt)}.trajectory-map .map-callout-label,.trajectory-map .map-callout-detail,.trajectory-map .map-caption{fill:var(--ink)}.trajectory-map .map-callout-detail,.trajectory-map .map-caption{fill:var(--cobalt-dark)}.trajectory-map{grid-template-rows:auto auto;align-content:start;min-height:0}.trajectory-map svg{min-height:0;position:static;inset:auto}@media (min-width:901px){.trajectory-copy{min-height:38rem}.trajectory>.trajectory-map{align-content:center;padding-block:clamp(1rem,2vw,2rem)}}.trajectory-map{container-type:inline-size}.trajectory-map .map-callout-plate{fill:var(--paper);stroke:var(--rule);stroke-width:1px;vector-effect:non-scaling-stroke}.trajectory-map .map-callout-label{fill:var(--ink);font-size:21px;font-weight:700}.trajectory-map .map-callout-detail{fill:var(--cobalt-dark);font-size:14px;font-weight:600}.trajectory-map .trajectory-journey-strip{margin-top:clamp(.25rem,.6cqi,.55rem)}.trajectory-map .trajectory-journey-strip li,.trajectory-map-full .trajectory-journey-strip li{align-content:center;gap:clamp(.65rem,1.1cqi,.9rem);min-height:6.9rem;padding:clamp(.85rem,1.35cqi,1.15rem)}.trajectory-map .journey-index{width:2.25rem;height:2.25rem}.trajectory-map .trajectory-journey-strip strong{font-size:clamp(.93rem,1.25cqi,1.2rem)}.trajectory-map .trajectory-journey-strip li>div>span{margin-top:.35rem;font-size:clamp(.62rem,.8cqi,.72rem);line-height:1.35}@container (min-width:50rem){.trajectory>.trajectory-map{grid-template-rows:minmax(0,1fr) auto;min-height:38rem}.trajectory>.trajectory-map svg{height:100%}}@container (max-width:43.75rem){.trajectory-map .trajectory-journey-strip{grid-template-columns:1fr}.trajectory-map .trajectory-journey-strip li,.trajectory-map-full .trajectory-journey-strip li{border-bottom:1px solid #dbe3ff66;border-right:0;grid-template-columns:2.25rem minmax(0,1fr);gap:.75rem;min-height:4.5rem;padding:.7rem .85rem}.trajectory-map .trajectory-journey-strip li:last-child{border-bottom:0}}@container (max-width:28.75rem){.trajectory-map .map-callout-label{font-size:27px}.trajectory-map .map-callout-detail{font-size:16px}}.trajectory{align-items:start}.trajectory-copy,.trajectory>.trajectory-map{min-height:0}.trajectory>.trajectory-map{grid-template-rows:auto auto;align-content:start;align-self:start;padding:clamp(1rem,2.2vw,2rem)}.trajectory-map-frame{aspect-ratio:8/5;position:relative}.trajectory-map .trajectory-map-frame svg{width:100%;height:auto;display:block}.trajectory-map .trajectory-tag-hint{z-index:1;border:1px solid var(--rule);background:var(--paper);color:var(--cobalt-dark);font:700 clamp(.62rem, .92cqi, .78rem) / 1.15 var(--font-mono);letter-spacing:.06em;pointer-events:none;margin:0;padding:.42rem .6rem;position:absolute;top:clamp(.45rem,1.1cqi,.75rem);right:clamp(.45rem,1.1cqi,.75rem)}.trajectory-map .map-route,.trajectory-map .map-route-progress{stroke:var(--cobalt);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;vector-effect:none}.trajectory-map .map-arrow path,.trajectory-map .map-arrow-static path{fill:none;stroke:var(--cobalt);stroke-width:2.8px;stroke-linecap:round;stroke-linejoin:round}.trajectory-map .map-route-traveller{fill:var(--paper);stroke:var(--cobalt);stroke-width:2.25px}.trajectory-map .map-leader{stroke:var(--ink);stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.trajectory-map .map-callout-plate{fill:var(--paper);stroke:var(--rule);stroke-width:1px;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.trajectory-map .map-callout-rail{fill:none;stroke:var(--cobalt);stroke-width:4px;vector-effect:non-scaling-stroke}.trajectory-map .map-callout-index{fill:var(--cobalt)}.trajectory-map .map-callout-index-text{fill:#fff;font:700 11px var(--font-mono);letter-spacing:.03em}.trajectory-map .map-callout-label{fill:var(--ink);letter-spacing:.025em;font-size:17px;font-weight:800}.trajectory-map .map-callout-label-hong-kong{word-spacing:-1.5px}.trajectory-map .map-callout-detail{fill:var(--cobalt-dark);letter-spacing:.06em;font-size:11px;font-weight:700}.trajectory-map .map-callout-port{fill:var(--paper);stroke:var(--cobalt);stroke-width:1.75px}.trajectory-map .map-coordinate-upcoming .map-callout-index,.trajectory-map .map-coordinate-upcoming .map-callout-rail{fill:var(--cobalt-dark);stroke:var(--cobalt-dark);opacity:.62}.trajectory-map .map-coordinate-completed .map-callout-index,.trajectory-map .map-coordinate-completed .map-callout-rail{fill:var(--cobalt-dark);stroke:var(--cobalt-dark)}@media (min-width:901px){.trajectory{align-items:center}.trajectory>.trajectory-map{align-self:center}}@container (max-width:28.75rem){.trajectory-map .map-callout-label{font-size:22px}.trajectory-map .map-callout-detail{font-size:13px}}.trajectory-map{position:relative;overflow:visible}.trajectory-map .trajectory-tag-controls{z-index:4;pointer-events:none;position:absolute;inset:0}.trajectory-map .trajectory-tag-trigger{cursor:pointer;pointer-events:auto;background:0 0;border:0;margin:0;padding:0;display:block;position:absolute}.trajectory-map .trajectory-tag-trigger:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px}.trajectory-map .map-coordinate-open .map-callout-plate{stroke:var(--cobalt);stroke-width:1.6px}.trajectory-map .map-coordinate-open .map-callout-rail{stroke-width:5px}.trajectory-map .map-coordinate-open .map-callout-index{fill:var(--cobalt-dark)}.trajectory-popover{z-index:5;box-sizing:border-box;border:1px solid var(--ink);border-top:4px solid var(--cobalt);background:var(--paper);width:clamp(18.75rem,24vw,20rem);max-width:calc(100% - 1rem);color:var(--ink);pointer-events:auto;padding:.85rem 1rem .95rem;position:absolute}.trajectory-popover:before{background:var(--amber);content:"";width:1.75rem;height:3px;position:absolute;top:-4px;right:1rem}.trajectory-popover-pointer{background:var(--ink);clip-path:polygon(0 0,100% 50%,0 100%);transform-origin:50%;width:10px;height:12px;position:absolute}.trajectory-popover-pointer:after{background:var(--paper);clip-path:polygon(0 0,100% 50%,0 100%);content:"";width:7px;height:8px;position:absolute;top:2px;left:1px}.trajectory-popover-eyebrow{color:var(--cobalt-dark);font:700 .66rem / 1.25 var(--font-mono);letter-spacing:.07em;margin:0 0 .45rem}.trajectory-popover h3{letter-spacing:-.02em;margin:0;font-size:clamp(1.05rem,1.5vw,1.3rem);font-weight:760;line-height:1.04}.trajectory-popover-description{color:var(--ink-soft);margin:.55rem 0 .7rem;font-size:.78rem;line-height:1.42}.trajectory-popover ul{border-top:1px solid var(--rule);min-height:0;margin:0;padding:0;list-style:none;display:block}.trajectory-popover li{border-bottom:1px solid var(--rule-light);width:auto;max-width:none;min-height:0;font:600 .64rem / 1.36 var(--font-mono);letter-spacing:.015em;background:0 0;margin:0;padding:.45rem 0 .4rem .8rem;display:block}.trajectory-popover li:before{width:.5rem;color:var(--amber);content:"■";margin-left:-.8rem;display:inline-block}.trajectory-popover li:last-child{border-bottom:0;padding-bottom:0}@container (max-width:43.75rem){.trajectory-popover{width:min(19rem,100% - 1rem)}}@container (max-width:28.75rem){.trajectory-popover-inline{width:auto;max-width:none;margin-top:.65rem;position:relative;inset:auto}.trajectory-popover h3{font-size:1.16rem}.trajectory-popover-description{font-size:.82rem}.trajectory-popover li{font-size:.68rem}}.project-diagram.mobile-layout-fit .diagram-scroll{overflow-x:clip}.project-diagram.mobile-layout-fit .diagram-scroll svg{width:100%;max-width:100%}
