.project-artwork[data-render-standby=true]{content-visibility:auto}@media print{.project-artwork[data-render-standby=true]{content-visibility:visible}}[hidden]{display:none!important}.work-discovery{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:20px;margin:20px 0 65px;padding:22px 0;display:flex}.work-discovery label,.work-discovery [role=status]{font-size:11px}.work-discovery select{color:var(--ink);border:1px solid var(--ink);min-height:46px;font:inherit;background:0 0;border-radius:0;max-width:100%;padding:10px 38px 10px 14px}.work-discovery [role=status]{margin-left:auto}.work-discovery button{cursor:pointer;background:0 0;border:0}.technical-art{--scene-ink:#30362e;--scene-paper:#e4e7db;--scene-accent:#b23c20;color:var(--scene-ink);background:var(--scene-paper);isolation:isolate;flex-direction:column;justify-content:space-between;padding:25px 30px 20px;display:flex}.scene-evidence{--scene-paper:#e9e3d8}.scene-qa{--scene-ink:#edf0e3;--scene-paper:#26352e;--scene-accent:#f5a171}.scene-twin{--scene-paper:#e0e6cd;--scene-accent:#795222}.scene-career{--scene-paper:#ebded0;--scene-accent:#b74423}.scene-matching{--scene-paper:#e0e4e6;--scene-accent:#a33e22}.scene-vault{--scene-ink:#e7eade;--scene-paper:#303a32;--scene-accent:#efa17b}.scene-scanner{--scene-paper:#e5ddcf;--scene-accent:#b83520}.scene-workflow{--scene-paper:#e9d8c5;--scene-accent:#9e411f}.scene-maritime{--scene-ink:#e0e7dd;--scene-paper:#273d3a;--scene-accent:#f4a976}.scene-ballast{--scene-paper:#e1e2d3;--scene-ink:#354139;--scene-accent:#a34222}.scene-autodim{--scene-paper:#28343a;--scene-ink:#f0eee0;--scene-accent:#f2be7c}.beam-high,.beam-low{fill:var(--scene-accent);fill-opacity:.2;stroke:var(--scene-accent);stroke-width:1px}.beam-high{opacity:.12}.beam-low{fill-opacity:.3}.high-beam-label{opacity:.25}.ballast-ripples ellipse{opacity:.5}.autodim-detection .scene-outline,.ballast-sensor .scene-box{transition:stroke-width .3s}.technical-art:hover :is(.autodim-detection .scene-outline,.ballast-sensor .scene-box){stroke-width:2.2px}.additional-project{border-bottom:1px solid var(--line);grid-template-columns:25px 65px 1fr 22px;align-items:center;gap:15px;padding:22px 0;display:grid}.additional-project>.mono{font-size:11px}.additional-project-title>strong{letter-spacing:-.04em;overflow-wrap:anywhere;font-size:clamp(17px,1.65vw,25px);font-weight:500;display:block}.additional-project-arrow{width:22px;transition:transform .35s}.additional-project:is(:hover,:focus-visible){color:var(--accent)}.additional-project:is(:hover,:focus-visible)>.additional-project-arrow{transform:translate(3px,-3px)}.project-mark{width:65px;height:48px}.mark-accent{stroke:var(--accent)}.secondary-actions{flex-wrap:wrap;gap:16px 30px;display:flex}.live-link-dot{background:var(--accent);border-radius:50%;width:5px;height:5px}@media (prefers-reduced-motion:no-preference){html:not([data-motion=reduced]) :is(.secondary-project[open],.secondary-project summary:hover,.secondary-project summary:focus-visible) .mark-route{animation:mark-route-draw .8s var(--ease) both}html:not([data-motion=reduced]) .additional-project:is(:hover,:focus-visible) .mark-hand{transform-origin:36px 28px;animation:mark-clock-turn .8s var(--ease) both}}@keyframes mark-route-draw{0%{stroke-dasharray:1;stroke-dashoffset:1px}to{stroke-dasharray:1;stroke-dashoffset:0}}@keyframes mark-clock-turn{0%{transform:rotate(-100deg)}to{transform:rotate(0)}}.research-links{flex-wrap:wrap;gap:8px 28px;display:flex}.note-paper-link{margin-top:28px}.scene-topline,.scene-bottomline{z-index:2;letter-spacing:.06em;flex-shrink:0;justify-content:space-between;gap:20px;font-size:10px;display:flex;position:relative}.scene-topline span:first-child{font-family:var(--display), sans-serif;letter-spacing:-.06em;font-size:18px;font-weight:650}.scene-map{flex:1;width:100%;min-height:0;display:block;overflow:visible}.scene-depth{transform-origin:50%;flex:1;min-height:0;display:flex;position:relative}.scene-depth .scene-map{height:100%}.flow-trace{fill:none;stroke:var(--scene-accent);stroke-width:1.8px;stroke-linecap:round;opacity:.42}.flow-signal{opacity:0;pointer-events:none}.signal-halo{fill:var(--scene-accent);fill-opacity:.13}.signal-core{fill:var(--scene-accent);stroke:var(--scene-paper);stroke-width:1.5px}.technical-art:before{content:"";pointer-events:none;opacity:0;background:radial-gradient(ellipse at calc(50% + var(--pointer-x,0) * 85%) calc(50% + var(--pointer-y,0) * 85%), #ffffff2e, transparent 65%);transition:opacity .45s;position:absolute;inset:0}.technical-art:after{content:"";pointer-events:none;clip-path:polygon(0 0,24px 0,24px 1px,1px 1px,1px 24px,0 24px,0 0,100% 0,100% 24px,calc(100% - 1px) 24px,calc(100% - 1px) 1px,calc(100% - 24px) 1px,calc(100% - 24px) 0,100% 0,100% 100%,calc(100% - 24px) 100%,calc(100% - 24px) calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) calc(100% - 24px),100% calc(100% - 24px),100% 100%,0 100%,0 calc(100% - 24px),1px calc(100% - 24px),1px calc(100% - 1px),24px calc(100% - 1px),24px 100%,0 100%);opacity:0;border:1px solid;transition:opacity .35s;position:absolute;inset:10px}.project-art-link:focus-visible .technical-art:after,.technical-art:hover:after{opacity:.36}.scene-unit .scene-box{transition:stroke .25s,stroke-width .25s}.scene-unit:hover .scene-box,.project-art-link:focus-visible .scene-box{stroke:var(--scene-accent);stroke-width:1.8px}.mobile-flow-track{display:none}.project-title-link>svg,.project-actions a>svg,.secondary-project summary>svg{transition:transform .4s cubic-bezier(.22,1,.36,1)}.project-title-link:is(:hover,:focus-visible)>svg,.project-actions a:is(:hover,:focus-visible)>svg{transform:translate(3px,-3px)rotate(8deg)}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){html[data-motion=full] .technical-art .scene-depth{transform:perspective(1100px) rotateX(calc(var(--pointer-y,0) * -7deg)) rotateY(calc(var(--pointer-x,0) * 9deg)) translate3d(calc(var(--pointer-x,0) * 15px), calc(var(--pointer-y,0) * 12px), 0);transition:transform .2s ease-out}html[data-motion=full] .technical-art:hover:before{opacity:1}html[data-motion=full] .secondary-project summary:is(:hover,:focus-visible)>svg{transform:translate(5px)rotate(-8deg)scale(1.1)}}.scene-map text{fill:var(--scene-ink)}.scene-label{font-family:var(--display), sans-serif;letter-spacing:-.2px;font-size:15px;font-weight:550}.scene-small{font-family:var(--mono), monospace;letter-spacing:.2px;font-size:10px}.scene-display{font-family:var(--display), sans-serif;letter-spacing:-3px;font-size:52px;font-weight:600}.scene-wire{fill:none;stroke:var(--scene-ink);stroke-width:1.3px}.scene-outline{fill:none;stroke:var(--scene-ink);stroke-width:1px}.scene-layer{fill:var(--scene-paper);stroke:var(--scene-ink);stroke-width:.8px}.scene-sheet,.scene-box{fill:var(--scene-paper);stroke:var(--scene-ink);stroke-width:1px}html:not([data-choreography=ready]) .scene-sheet{filter:drop-shadow(4px 7px #0000000e)}.scene-selection{fill:var(--scene-accent);fill-opacity:.09;stroke:var(--scene-accent);stroke-width:1.5px}.scene-box.selected{fill:var(--scene-accent);fill-opacity:.1;stroke:var(--scene-accent)}.fill-accent{fill:var(--scene-accent)}.fill-ink{fill:var(--scene-ink)}.scene-map .accent{stroke:var(--scene-accent)}.scene-map text.accent{stroke:none;fill:var(--scene-accent)}.soft{opacity:.35}.scene-mobile{display:none}.mobile-scene-symbol svg{width:210px;max-width:100%;height:79px;display:block}.mobile-scene-symbol text{fill:var(--scene-ink)}.mobile-scene-symbol .accent{stroke:var(--scene-accent)}.project-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px 20px;margin-top:13px;display:flex}.project-actions a{text-underline-offset:4px;align-items:center;gap:7px;min-height:32px;font-size:12px;text-decoration:underline;display:inline-flex}.project-actions svg{width:13px;height:13px}.project-status{font-size:10px;line-height:1.6}.project-title-link h3{overflow-wrap:anywhere}html[data-choreography=ready] .project-scene.pace-measured{height:138svh;min-height:1020px}html[data-choreography=ready] .project-scene.pace-flowing{height:155svh;min-height:1120px}html[data-choreography=ready] .project-scene.pace-expansive{height:172svh;min-height:1200px}html[data-choreography=ready] .project-scene .project-artwork{height:clamp(330px,55svh,610px)}.project-art-link:is(:hover,:focus-visible) .scene-selection{fill-opacity:.17;stroke-width:2px}.project-art-link:is(:hover,:focus-visible) .scene-topline span:first-child{text-underline-offset:5px;text-decoration:underline}.scene-selection{transition:fill-opacity .3s,stroke-width .3s}.secondary-work{border-top:1px solid var(--line);grid-template-columns:.85fr 1.4fr;gap:8%;margin:30px 0 85px;padding-top:70px;display:grid}.secondary-heading{align-self:start;position:sticky;top:130px}.secondary-heading h3{letter-spacing:-.06em;margin:28px 0;font-size:clamp(35px,4vw,66px);line-height:1.07}.secondary-heading>p{max-width:330px;color:var(--muted);font-size:15px;line-height:1.8}.secondary-heading>.mono{font-size:10px}.secondary-project{border-bottom:1px solid var(--line)}.secondary-project summary{cursor:pointer;grid-template-columns:25px 65px 1fr 22px;align-items:center;gap:15px;padding:22px 0;list-style:none;display:grid}.secondary-project summary::-webkit-details-marker{display:none}.secondary-project summary>.mono{font-size:10px}.secondary-project summary svg{width:65px;height:48px;transition:transform .4s}.secondary-project summary strong{letter-spacing:-.04em;overflow-wrap:anywhere;font-size:clamp(17px,1.65vw,25px);font-weight:500;display:block}.secondary-project summary span .mono,.additional-project-title>.mono{color:var(--muted);margin-top:7px;font-size:9px;display:block}.secondary-toggle{font-size:23px;transition:transform .3s}.secondary-project[open] .secondary-toggle{transform:rotate(45deg)}.secondary-project[open] summary svg,.secondary-project summary:hover svg{transform:rotate(-9deg)scale(1.06)}.secondary-detail{padding:0 0 25px 120px;font-size:14px;line-height:1.8;animation:.3s both detail-in}.secondary-detail p{margin:0 0 18px}.secondary-detail>.mono{margin-top:18px;font-size:10px}.secondary-detail .project-tags{justify-content:flex-start}.secondary-detail .text-link{font-size:13px}.skill-evidence{flex-wrap:wrap;gap:10px;padding:16px 0 20px;display:flex}.skill-evidence>.mono{width:100%;font-size:9px}.skill-evidence .text-link{gap:7px;margin-right:10px;padding:5px 0;font-size:11px}.skill-evidence svg{width:12px;height:12px}.role-flow{align-items:center;gap:10px;padding:22px 0;display:flex}.role-flow>span{flex:1;align-items:center;gap:10px;font-size:10px;display:flex}.role-flow i{background:var(--accent);flex:1;height:1px}.experience-detail-inner{overflow:hidden}.experience-detail{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .45s,opacity .3s;display:grid}.experience-detail.is-expanded{opacity:1;grid-template-rows:1fr}.experience-detail:not(.is-expanded){padding-top:0;padding-bottom:0}.experience-detail p,.experience-detail ul{margin-top:0}.experience-detail-inner>p{font-size:15px;line-height:1.8}.experience-detail-inner>ul li{font-size:13px}.experience-detail-inner>.experience-type{font-size:9px;line-height:1.7}.experience-network{width:100%;max-width:530px;margin:15px 0}.experience-network text{fill:var(--ink);font-family:var(--mono);font-size:9px}.experience-network .peer-link{stroke:var(--accent);stroke-width:1px;stroke-dasharray:3 4}.peer-update{opacity:0}.experience-network .node{fill:var(--paper);stroke:var(--ink)}.no-script-experience{border-top:1px solid var(--line);padding-top:25px}.no-script-experience article{margin:25px 0}.research-secondary{border-top:1px solid var(--line);margin-top:28px;padding-top:25px}.research-secondary h3{font-size:20px;line-height:1.4}.research-secondary>.mono{font-size:10px}.research-secondary .text-link{margin-top:16px;font-size:13px}.achievement-item details a{margin-bottom:15px;font-size:12px;display:inline-flex}.case-study .case-title-row h1{overflow-wrap:anywhere;white-space:normal;min-width:0;font-size:clamp(52px,8vw,135px);line-height:1.04}.case-study .case-title-row{align-items:start;gap:30px}.case-study .case-title-row>.mono{flex:0 0 190px;line-height:1.8}.case-study .technical-art{height:clamp(430px,63vw,680px)}.case-scene-cue{display:none}html[data-choreography=ready] .case-visual{height:155svh;min-height:1040px}html[data-choreography=ready] .case-visual-stage{position:sticky;top:105px}html[data-choreography=ready] .case-visual .technical-art{height:clamp(330px,65svh,680px)}html[data-choreography=ready] .case-scene-cue{align-items:center;gap:20px;padding-top:25px;font-size:9px;display:flex}.case-scene-cue>span:nth-child(2){background:var(--line);flex:1;height:1px}.case-scene-cue i{background:var(--accent);transform-origin:0;height:100%;display:block}@media (max-width:760px){html[data-choreography=ready] .case-visual{height:125svh;min-height:850px}html[data-choreography=ready] .case-visual-stage{top:82px}html[data-choreography=ready] .case-visual .technical-art{height:clamp(330px,48svh,450px)}html[data-choreography=ready] .case-scene-cue{gap:10px;margin-inline:20px;font-size:7px}}@media (max-height:650px){html[data-choreography=ready] .case-visual{height:auto;min-height:0}html[data-choreography=ready] .case-visual-stage{position:relative;top:0}}.case-study .case-actions{flex-wrap:wrap;gap:25px;margin-top:28px;display:flex}.case-actions .text-link{font-size:14px}.case-mechanism{padding-top:65px;padding-bottom:90px}.case-steps{grid-template-columns:repeat(3,1fr);gap:45px;margin-top:40px;display:grid}.case-steps article{border-top:1px solid var(--ink);padding-top:20px}.case-steps h2{letter-spacing:-.04em;margin:22px 0 16px;font-size:26px;font-weight:500}.case-steps p{color:var(--muted);font-size:15px;line-height:1.8}.case-boundaries{background:var(--ink);color:var(--paper);padding-top:70px;padding-bottom:80px}.case-boundaries h2{letter-spacing:-.05em;margin:0 0 35px;font-size:clamp(32px,4vw,60px);font-weight:500}.case-boundary-layout{grid-template-columns:1fr 1fr;gap:8%;display:grid}.case-boundaries ul{padding-left:20px;font-size:15px;line-height:1.9}.case-boundaries li{margin-bottom:15px}.case-source-links{flex-wrap:wrap;gap:18px;margin-top:24px;display:flex}.case-source-links a{text-underline-offset:5px;overflow-wrap:anywhere;font-size:13px;text-decoration:underline}.case-stack{gap:18px;display:grid}.case-stack>div{border-bottom:1px solid #fff3;grid-template-columns:1fr 2fr;gap:20px;padding-bottom:18px;display:grid}.case-stack dt{font-size:11px}.case-stack dd{margin:0;font-size:14px;line-height:1.7}.case-steps .mono{color:var(--accent);font-size:11px}.filter-empty{margin:60px 0;font-size:22px}@keyframes detail-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (min-width:761px) and (max-height:760px){html[data-choreography=ready] .project-scene .project-artwork{height:40svh;min-height:260px}html[data-choreography=ready] .project-scene .project-pin-stage{top:85px}.project-caption{padding-top:16px}}@media (max-width:1024px){.project-caption>div:first-child{max-width:60%}.technical-art{padding:20px}.project-title-link h3{font-size:30px}.project-caption p{font-size:13px}.secondary-work{gap:5%}.secondary-project summary,.additional-project{grid-template-columns:20px 45px 1fr 18px;gap:10px}.secondary-project summary svg,.additional-project .project-mark{width:45px}.secondary-detail{padding-left:75px}.hero-topline>.eyebrow{font-size:9px}}@media (max-width:760px){.hero-topline>.eyebrow{letter-spacing:.025em;font-size:8px}.hero-intro{max-width:240px}.hero-description p{font-size:12px}.work-discovery{gap:12px;margin-bottom:35px;padding:18px 0}.work-discovery label{width:100%}.work-discovery select{width:100%;font-size:14px}.work-discovery [role=status]{margin:0;font-size:10px}.work-discovery button{margin-left:auto;font-size:11px}html[data-choreography=ready] .project-scene.pace-measured,html[data-choreography=ready] .project-scene.pace-flowing,html[data-choreography=ready] .project-scene.pace-expansive{height:126svh;min-height:930px;margin-bottom:40px}html[data-choreography=ready] .project-scene.pace-expansive{height:138svh}html[data-choreography=ready] .project-scene .project-artwork{height:clamp(285px,39svh,350px)}html[data-choreography=ready] .project-scene .project-pin-stage{top:82px}.technical-art{padding:19px 20px 15px}.scene-map,.scene-depth{display:none}.scene-mobile{flex-direction:column;flex:1;justify-content:center;gap:17px;display:flex}.mobile-scene-symbol{letter-spacing:-.08em;font-size:62px;font-weight:500;line-height:1}.scene-topline{font-size:8px}.scene-topline span:first-child{font-size:15px}.scene-topline span:last-child{text-align:right;max-width:125px}.scene-bottomline{font-size:7px}.mobile-scene-path{gap:9px;display:grid;position:relative}.mobile-flow-track{width:18px;height:100%;display:block;position:absolute;top:0;right:0;overflow:visible}.mobile-flow-guide,.mobile-flow-draw{fill:none;stroke:var(--scene-accent);stroke-width:1px}.mobile-flow-guide{opacity:.15}.mobile-flow-signal{fill:var(--scene-accent);opacity:0}.mobile-step{grid-template-columns:20px 1fr 18px;align-items:center;gap:7px;font-size:13px;display:grid}.mobile-step>.mono{opacity:1;font-size:9px}.mobile-step i{background:var(--scene-accent);border-radius:100%;justify-self:center;width:4px;height:4px}.mobile-step:not(:last-child) i{box-shadow:0 0 0 4px var(--scene-paper)}.project-caption{flex-direction:column;gap:15px;padding-top:18px}.project-caption>div:first-child{max-width:100%}.project-title-link h3{font-size:29px}.project-caption p{margin-top:8px;font-size:13px;line-height:1.65}.project-meta{align-items:flex-start;width:100%}.project-tags{justify-content:flex-start;gap:5px}.project-tags span{padding:5px 8px;font-size:9px}.project-status{font-size:9px}html[data-choreography=ready] .project-caption p{font-size:13px}html[data-choreography=ready] .project-meta{flex-direction:column;align-items:flex-start;gap:9px}html[data-choreography=ready] .project-meta>.mono,html[data-choreography=ready] .project-tags>span{font-size:9px}.project-scene-meter>.mono{font-size:7px}.project-open{bottom:35px}.project-actions{justify-content:flex-start;margin-top:3px}.project-actions a{min-height:34px;font-size:11px}.secondary-work{margin-top:20px;padding-top:40px;display:block}.secondary-heading{margin-bottom:30px;position:static}.secondary-heading h3{margin:20px 0}.secondary-project summary,.additional-project{grid-template-columns:20px 40px 1fr 18px;gap:9px}.secondary-project summary svg,.additional-project .project-mark{width:40px}.secondary-detail{padding-left:0}.secondary-project summary span .mono,.additional-project-title>.mono{font-size:8px;line-height:1.6}.role-flow{flex-wrap:wrap;gap:8px}.role-flow>span{gap:7px;font-size:8px}.experience-role{overflow-wrap:anywhere}.case-study .case-title-row{display:block}.case-study .case-title-row h1{font-size:clamp(40px,11vw,76px)}.case-study .case-title-row>.mono{margin-top:20px;font-size:10px;display:block}.case-study .technical-art{height:370px}.case-study .scene-mobile{gap:28px}.case-study .mobile-scene-symbol{font-size:85px}.case-study .mobile-step{font-size:15px}.case-steps,.case-boundary-layout{grid-template-columns:1fr;gap:30px}.case-steps h2{margin:12px 0}.case-steps p{margin-bottom:0}.case-stack>div{grid-template-columns:1fr;gap:8px}.case-hero .case-breadcrumb{flex-wrap:wrap;gap:20px}.case-specs{flex-wrap:wrap}}@media (max-width:760px) and (max-height:760px){html[data-choreography=ready] .project-scene.pace-measured,html[data-choreography=ready] .project-scene.pace-flowing,html[data-choreography=ready] .project-scene.pace-expansive{height:auto;min-height:0;margin-bottom:85px}html[data-choreography=ready] .project-scene .project-pin-stage{position:relative;top:auto}}@media (prefers-reduced-motion:reduce){.secondary-detail{animation:none}.experience-detail{transition:none}}html[data-motion=reduced] .secondary-detail{animation:none}html[data-motion=reduced] .experience-detail{transition:none}
::view-transition-group(project-artwork){animation-duration:.65s;animation-timing-function:cubic-bezier(.22,.7,.2,1)}::view-transition-group(project-title){animation-duration:.65s;animation-timing-function:cubic-bezier(.22,.7,.2,1)}.site-header{view-transition-name:site-navigation}::view-transition-group(site-navigation){animation:none}::view-transition-new(site-navigation){animation:none}::view-transition-old(site-navigation){opacity:0;animation:none}::view-transition-old(project-title){opacity:0;animation:none}::view-transition-new(project-title){animation:none}::view-transition-old(root){animation:.12s linear both route-copy-out}::view-transition-new(root){animation:.19s .43s both route-copy-in}::view-transition-old(project-artwork){animation:.65s linear both artwork-out}::view-transition-new(project-artwork){animation:.65s linear both artwork-in}@keyframes route-copy-out{to{opacity:0}}@keyframes route-copy-in{0%{opacity:0}to{opacity:1}}@keyframes artwork-out{0%,70%{opacity:1}to{opacity:0}}@keyframes artwork-in{0%,70%{opacity:0}to{opacity:1}}::view-transition-image-pair(project-artwork){isolation:isolate;overflow:clip}::view-transition-old(project-artwork){object-fit:cover;mix-blend-mode:normal;height:100%}::view-transition-new(project-artwork){object-fit:cover;mix-blend-mode:normal;height:100%}::view-transition-group(project-title){z-index:2}.work-index-trigger{border:1px solid var(--line);text-transform:uppercase;white-space:nowrap;background:0 0;border-radius:2px;justify-content:center;align-items:center;gap:12px;min-height:44px;padding:9px 14px;font-size:10px;transition:color .25s,border-color .25s,background .25s;display:inline-flex}.work-discovery .work-index-trigger{border:1px solid var(--line)}.work-index-trigger>span:first-child{font-size:22px;line-height:1}.work-index-trigger:is(:hover,:focus-visible){color:var(--accent);background:#b23c2007;border-color:currentColor}.index-count{border-left:1px solid var(--line);padding-left:10px}.work-index-dialog{border:1px solid var(--ink);width:min(980px,100% - 48px);max-width:none;max-height:min(900px,100svh - 64px);color:var(--ink);background:var(--paper);overscroll-behavior:contain;scrollbar-color:var(--muted) var(--paper);padding:0}.work-index-dialog::backdrop{background:#27292299}.work-index-dialog[open]{animation:index-arrive .3s var(--ease) both}@keyframes index-arrive{0%{transform:translateY(15px)}to{transform:none}}.work-index-panel{padding:34px 40px 24px}.work-index-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.work-index-head h2{letter-spacing:-.055em;margin:14px 0 24px;font-size:clamp(30px,4vw,46px);font-weight:450;line-height:1.15}.index-close{border:1px solid var(--line);background:0 0;flex-shrink:0;width:44px;height:44px;font-size:32px;font-weight:300}.index-close:hover{background:var(--ink);color:var(--paper)}.index-search{display:block}.index-search>span{margin-bottom:10px;font-size:9px;display:block}.index-search input{width:100%;height:52px;color:var(--ink);border:1px solid var(--ink);background:0 0;border-radius:0;padding:12px 16px;font-size:16px;display:block}.index-search input::placeholder{color:var(--muted);opacity:1}.index-legend{justify-content:space-between;gap:20px;margin:24px 0 8px;font-size:9px;display:flex}.index-entries{margin:0;padding:0;list-style:none}.index-entries li{border-bottom:1px solid var(--line)}.index-entries a,.index-private{align-items:center;gap:20px;min-height:76px;padding:18px 4px;transition:background .2s,color .2s;display:flex}.index-entries a:hover{color:var(--accent);background:#27292206}.index-entries a:focus-visible{outline-offset:-2px}.index-number{flex-shrink:0;width:24px;font-size:10px}.index-entry-title{letter-spacing:-.025em;flex:1;font-size:clamp(17px,2.2vw,23px);line-height:1.25}.index-entry-title small{letter-spacing:.025em;color:var(--muted);margin-top:6px;font-size:8px;line-height:1.6;display:block}.index-entry-kind,.index-private>.mono:last-child{font-size:9px}.index-entries svg{width:20px;height:20px;transition:transform .3s var(--ease);flex-shrink:0}.index-entries a:hover svg{transform:translate(3px,-3px)}.index-empty{padding:30px 0}.index-foot{margin-top:25px;font-size:8px;display:block}.case-breadcrumb-actions{align-items:center;gap:28px;display:flex}.case-brief{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-top:0;padding-bottom:65px;display:grid}.case-brief>div{border-top:1px solid var(--line);padding-top:20px}.case-brief .mono{color:var(--muted);font-size:9px}.case-brief p{max-width:40ch;margin:14px 0 0;font-size:clamp(15px,1.25vw,18px);line-height:1.65}.mechanism-explorer{width:100%}html[data-choreography=ready] .case-visual:has(.mechanism-explorer) .technical-art{height:clamp(280px,48svh,520px)}.inspection-console{border-bottom:1px solid var(--line)}.inspection-heading{justify-content:space-between;padding:18px 0 12px;font-size:8px;display:flex}.inspection-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.inspection-controls button{text-align:left;border:1px solid var(--line);min-height:54px;color:var(--ink);background:0 0;align-items:center;gap:12px;padding:12px 15px;font-size:13px;line-height:1.3;transition:border-color .2s,color .2s,background .2s;display:flex;position:relative}.inspection-controls button:is(:hover,:focus-visible){border-color:var(--ink)}.inspection-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.inspection-number{color:var(--accent);font-size:10px}.inspection-controls button[aria-pressed=true] .inspection-number{color:#f8ab84}.inspection-plus{margin-left:auto;font-size:19px;font-weight:300}.inspection-detail{grid-template-columns:180px 1fr;align-items:start;gap:20px;min-height:96px;padding:20px 0;display:grid}.inspection-detail>.mono{font-size:8px;line-height:1.7}.inspection-detail p{max-width:85ch;margin:0;font-size:14px;line-height:1.65}.mechanism-explorer [data-inspectable]{cursor:pointer}.mechanism-explorer [data-inspected=true] :is(.scene-sheet,.scene-outline,.scene-box,.scene-layer,.scene-wire),.mechanism-explorer [data-inspected=true].scene-wire{stroke:var(--scene-accent);stroke-width:2px}.mechanism-explorer [data-inspected=true] .scene-label{fill:var(--scene-accent)}.mechanism-explorer[data-selected="0"] .mobile-step.phase-one,.mechanism-explorer[data-selected="1"] .mobile-step.phase-two,.mechanism-explorer[data-selected="2"] .mobile-step.phase-three{border-color:var(--scene-accent);color:var(--scene-accent)}.publication-feature.research-secondary{border-top:1px solid var(--line);background:#e9e9df;grid-template-columns:1fr 2.1fr;gap:clamp(40px,8vw,150px);margin:0;padding-top:clamp(75px,10vw,160px);padding-bottom:clamp(75px,10vw,160px);display:grid}.publication-margin{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:32px;display:flex}.publication-margin .mono{font-size:9px;line-height:1.8}.publication-mark{color:var(--accent);transition:transform .6s var(--ease);font-size:clamp(100px,15vw,260px);font-weight:250;line-height:1}.publication-feature:has(a:hover) .publication-mark{transform:translate(6px,-6px)}.publication-main{min-width:0}.publication-main h2{letter-spacing:-.06em;margin:20px 0 32px;font-size:clamp(42px,5.4vw,85px);font-weight:430;line-height:1.1}.publication-feature .publication-question{max-width:59ch;margin-bottom:42px;font-size:18px;line-height:1.7}.publication-feature h3{letter-spacing:-.025em;max-width:50ch;margin-bottom:22px;font-size:clamp(18px,1.75vw,25px);font-weight:450;line-height:1.5}.publication-reference{border-top:1px solid var(--line);margin-top:40px;padding-top:22px}.reference-top{justify-content:space-between;align-items:center;gap:20px;display:flex}.reference-top>.mono{font-size:8px}.reference-top button{background:0 0;min-height:44px;font-size:13px}.publication-reference .reference-text{color:var(--muted);overflow-wrap:anywhere;margin:12px 0 0;font-size:12px;line-height:1.8}.reference-status{min-height:22px;padding-top:8px;font-size:9px;display:block}.publication-reference textarea{width:100%;color:var(--ink);background:var(--paper);border:1px solid var(--ink);padding:12px;font-size:14px;line-height:1.5}@media (max-width:760px){.work-discovery{gap:14px}.work-discovery .work-index-trigger{margin-left:auto}.work-index-dialog{width:calc(100% - 20px);max-height:calc(100svh - 20px)}.work-index-panel{padding:24px 20px 20px}.work-index-head h2{max-width:8.5em;font-size:32px}.index-close{width:44px}.index-legend{gap:8px;font-size:7px}.index-entry-kind{display:none}.index-entries a,.index-private{gap:10px}.index-entry-title{font-size:18px}.index-entry-title small{font-size:7px}.index-private>.mono:last-child{max-width:50px;font-size:7px}.case-breadcrumb{flex-wrap:wrap;gap:20px}.case-breadcrumb-actions{justify-content:space-between;width:100%}.case-breadcrumb-actions .work-index-trigger{border:0;padding-left:0}.case-brief{grid-template-columns:1fr;gap:24px;padding-bottom:44px}.case-brief>div{padding-top:16px}.case-brief p{max-width:none;margin-top:8px;font-size:15px}html[data-choreography=ready] .case-visual:has(.mechanism-explorer) .technical-art{height:clamp(270px,37svh,360px)}.inspection-console{margin-inline:20px}.inspection-heading{padding-top:15px;font-size:7px}.inspection-controls{gap:5px}.inspection-controls button{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:8px;min-height:85px;padding:12px 9px;font-size:11px}.inspection-plus{position:absolute;top:6px;right:9px}.inspection-detail{grid-template-columns:1fr;gap:8px;min-height:127px;padding:15px 0}.inspection-detail p{font-size:12px;line-height:1.65}.inspection-detail>.mono{font-size:7px}.publication-feature.research-secondary{grid-template-columns:1fr;gap:36px}.publication-margin{flex-direction:row;align-items:center}.publication-margin>.mono:last-child{display:none}.publication-mark{font-size:72px}.publication-main h2{font-size:clamp(40px,9vw,60px)}.publication-feature .publication-question{margin-bottom:30px;font-size:16px}.publication-feature h3{font-size:20px}.reference-top{align-items:center}}@media (max-height:760px){html[data-choreography=ready] .case-visual:has(.mechanism-explorer){height:auto;min-height:0}html[data-choreography=ready] .case-visual:has(.mechanism-explorer) .case-visual-stage{position:relative;top:auto}}@media (prefers-reduced-motion:reduce){.work-index-dialog[open]{animation:none}.publication-mark,.inspection-controls button,.index-entries svg{transition:none}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}html[data-motion=reduced] .work-index-dialog[open]{animation:none}html[data-motion=reduced] .publication-mark,html[data-motion=reduced] .inspection-controls button,html[data-motion=reduced] .index-entries svg{transition:none}
.opening-scene,.opening-world{visibility:hidden;pointer-events:none;position:fixed;inset:0}.opening-world{z-index:196;background:var(--ink)}.opening-scene{z-index:210;perspective:1100px;perspective-origin:50% 48%;place-items:center;display:grid;overflow:clip}html[data-opening=active] .opening-scene{animation:3s step-end both opening-visibility}html[data-opening=entering] .opening-scene{animation:2.7s step-end both opening-visibility}html[data-opening-mode=portal][data-opening=active] .opening-world{animation:3s step-end both opening-visibility}html[data-opening-mode=portal][data-opening=entering] .opening-world{animation:2.7s step-end both opening-visibility}.opening-aperture,.opening-passage{transform-style:preserve-3d;position:absolute;inset:0}.opening-aperture i{background:var(--paper);backface-visibility:hidden;width:calc(50% + 1px);height:calc(50% + 1px);transform-origin:var(--hinge);--wing-x:-64%;--wing-y:-70%;--wing-rx:-24deg;--wing-ry:30deg;--hinge:0% 0%;position:absolute}.opening-aperture i:first-child{top:0;left:0}.opening-aperture i:nth-child(2){--wing-x:64%;--wing-ry:-30deg;--hinge:100% 0%;top:0;right:0}.opening-aperture i:nth-child(3){--wing-y:70%;--wing-rx:24deg;--hinge:0% 100%;bottom:0;left:0}.opening-aperture i:nth-child(4){--wing-x:64%;--wing-y:70%;--wing-rx:24deg;--wing-ry:-30deg;--hinge:100% 100%;bottom:0;right:0}html[data-opening=entering] .opening-aperture i{animation:1.65s cubic-bezier(.64,0,.22,1) .14s both opening-leaf}.opening-passage{place-items:center;display:grid}.opening-passage i{opacity:0;border:1px solid #f5f4ef4d;border-radius:50%;width:78vmax;height:78vmax;position:absolute;transform:translateZ(-1400px)rotateX(54deg)rotateY(-25deg)rotate(-32deg)}.opening-passage i:nth-child(3n){border-color:var(--accent)}html[data-opening=entering] .opening-passage i{animation:opening-gate 2.15s cubic-bezier(.35, .05, .5, 1) calc(.22s + var(--gate) * 65ms) both}html[data-opening-mode=document] .opening-passage{display:none}html[data-opening-mode=portal]:is([data-opening=active],[data-opening=entering]) .hero{z-index:197}html[data-opening-mode=portal]:is([data-opening=active],[data-opening=entering]) .hero-stage{transform-origin:50% 46%;isolation:isolate;will-change:transform}html[data-opening-mode=portal]:is([data-opening=active],[data-opening=entering]) .hero-stage:before{content:"";inset:0 calc(-1 * var(--page-pad));z-index:-1;background:var(--paper);pointer-events:none;outline:1px solid #f5f4ef66;position:absolute;box-shadow:0 45px 130px #0003}html[data-opening-mode=portal][data-opening=active] .hero-stage{animation:3s both opening-page-standby}html[data-opening-mode=portal][data-opening=entering] .hero-stage{animation:2.7s linear both opening-page-flight}html[data-opening-mode=portal][data-opening=entering] .hero-composition{animation:2.7s linear both opening-composition}html[data-opening-mode=portal][data-opening=entering] .hero-orbit .orbit-art{animation:2.7s cubic-bezier(.18,.65,.24,1) both opening-art}html[data-opening-mode=portal]:is([data-opening=active],[data-opening=entering]) .site-header{z-index:198}html[data-opening-mode=portal][data-opening=active] .site-header{animation:3s both opening-header-standby}html[data-opening-mode=portal][data-opening=entering] .site-header{animation:2.7s linear both opening-header-arrive}html[data-opening] .hero-title .letter-mask>span{animation:none;transform:none}.opening-orbits{aspect-ratio:1;width:min(510px,82vw);transform-style:preserve-3d;position:absolute}.opening-orbits i{border:1px solid var(--line);border-radius:50%;position:absolute;inset:0;transform:rotate(-28deg)rotateY(62deg)}.opening-orbits i:nth-child(2){transform:rotate(28deg)rotateX(65deg)}.opening-orbits i:nth-child(3){border-color:var(--accent);opacity:.18;transform:rotate(-38deg)rotateX(72deg)}.opening-satellite{background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:19%;right:18%}html[data-opening=active] .opening-orbits{animation:opening-orbit-arrive .8s var(--ease) both}html[data-opening=entering] .opening-orbits{animation:1.55s cubic-bezier(.6,0,.2,1) both opening-orbit-depart}.opening-signature{z-index:1;width:min(260px,62vw);position:relative}html[data-opening=entering] .opening-signature{animation:.6s cubic-bezier(.55,0,.2,1) both opening-signature-depart}.opening-wordmark{letter-spacing:-.08em;font-size:64px;font-weight:650;line-height:1.2;display:block}.opening-wordmark>span{color:var(--accent)}.opening-signature>.mono{letter-spacing:.13em;font-size:9px;display:block}.opening-rule{background:var(--line);height:1px;margin:26px 0 18px;display:block;position:relative}.opening-rule i{background:var(--ink);transform-origin:0;position:absolute;inset:0}html[data-opening=active] .opening-rule i{animation:.7s cubic-bezier(.22,1,.36,1) both opening-line}html[data-opening=active] .opening-wordmark{animation:opening-type .65s var(--ease) both}.opening-corner{bottom:34px;left:var(--page-pad);font-size:8px;position:absolute}html[data-opening=entering] .opening-corner{animation:.35s both opening-caption-depart}@keyframes opening-visibility{0%{visibility:visible}to{visibility:hidden}}@keyframes opening-leaf{0%,8%{transform:translate(0,0)rotateX(0)rotateY(0)}to{transform:translate3d(var(--wing-x), var(--wing-y), 620px) rotateX(var(--wing-rx)) rotateY(var(--wing-ry))}}@keyframes opening-gate{0%,8%{opacity:0;transform:translate3d(10vw,5vh,-1400px)rotateX(54deg)rotateY(-25deg)rotate(-32deg)}20%{opacity:.7}75%{opacity:.6}to{opacity:0;transform:translate3d(-6vw,-6vh,1080px)rotateX(8deg)rotateY(14deg)rotate(28deg)}}@keyframes opening-page-standby{0%,75%{transform:perspective(1400px)translate3d(10vw,9vh,-1550px)rotateX(18deg)rotateY(-26deg)rotate(8deg)}to{transform:none}}@keyframes opening-page-flight{0%,12%{animation-timing-function:cubic-bezier(.42,0,.2,1);transform:perspective(1400px)translate3d(10vw,9vh,-1550px)rotateX(18deg)rotateY(-26deg)rotate(8deg)}60%{animation-timing-function:cubic-bezier(.18,.75,.24,1);transform:perspective(1400px)translate3d(-2vw,1vh,-410px)rotateX(6deg)rotateY(9deg)rotate(-2deg)}to{transform:perspective(1400px)translate(0,0)rotateX(0)rotateY(0)rotate(0)}}@keyframes opening-composition{0%,18%{animation-timing-function:cubic-bezier(.22,.6,.2,1);transform:perspective(1100px)translate3d(0,50px,-90px)rotateX(-10deg)}85%,to{transform:perspective(1100px)translate(0,0)rotateX(0)}}@keyframes opening-art{0%{transform:rotate(-78deg)scale(.7)scaleY(.86)}to{transform:rotate(-18deg)scale(1)scaleY(.86)}}@keyframes opening-header-standby{0%,75%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}@keyframes opening-header-arrive{0%,68%{opacity:0;animation-timing-function:cubic-bezier(.18,.75,.24,1);transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes opening-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes opening-type{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes opening-signature-depart{to{opacity:0;transform:translate3d(0,-40px,-400px)rotateX(34deg)}}@keyframes opening-caption-depart{to{opacity:0;transform:translateY(10px)}}@keyframes opening-orbit-arrive{0%{opacity:0;transform:rotate(-25deg)scale(.78)}to{opacity:1;transform:none}}@keyframes opening-orbit-depart{0%{opacity:1;transform:translateZ(0)rotate(0)scale(1)}85%{opacity:.4}to{opacity:0;transform:translateZ(960px)rotate(80deg)scale(1.5)}}@media (max-width:760px){.opening-wordmark{font-size:54px}.opening-scene{perspective:900px}.opening-passage i{width:98vmax;height:98vmax}.opening-corner{bottom:max(24px, env(safe-area-inset-bottom));font-size:7px}}html[data-motion=reduced] :is(.opening-scene,.opening-world){display:none!important}html[data-motion=reduced] :is(.hero-stage,.hero-composition,.hero-orbit .orbit-art,.site-header){animation:none!important}html[data-motion=reduced] .hero-stage:before{display:none}@media (prefers-reduced-motion:reduce){.opening-scene,.opening-world{display:none!important}html[data-opening] :is(.hero-stage,.hero-composition,.hero-orbit .orbit-art,.site-header){animation:none!important}html[data-opening] .hero-stage:before{display:none}}
