/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sticky{position:sticky}.flex{display:flex}.grid{display:grid}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@font-face{font-family:Roboto;font-weight:300;font-style:normal;font-display:swap;src:url(/fonts/roboto-latin-300-normal.woff2)format("woff2")}@font-face{font-family:Roboto;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/roboto-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Roboto;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/roboto-latin-500-normal.woff2)format("woff2")}@font-face{font-family:Roboto;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/roboto-latin-700-normal.woff2)format("woff2")}@font-face{font-family:Roboto Mono;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/roboto-mono-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Roboto Mono;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/roboto-mono-latin-500-normal.woff2)format("woff2")}:root{--paper:#dadcce;--paper-2:#c9cdbb;--dust:#aeb5a0;--stone:#818c75;--slate:#465040;--ink:#1b221a;--accent:#e6f04a;--accent-ink:#46560c;--accent-lit:#e6f04a;--hair:#1b221a47;--sans:"Roboto", system-ui, sans-serif;--mono:"Roboto Mono", ui-monospace, monospace;--pad:clamp(20px, 4.4vw, 64px);--ease:cubic-bezier(.2, .7, .2, 1)}*,:before,:after{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--sans);text-rendering:optimizelegibility;margin:0;font-size:1.0625rem;font-weight:400;line-height:1.6}img,svg,canvas{max-width:100%;display:block}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}.dark :focus-visible{outline-color:var(--accent-lit)}.skip{z-index:100;background:var(--ink);color:var(--accent);font:500 .8rem var(--mono);padding:10px 14px;position:absolute;top:-60px;left:8px}.skip:focus{top:8px}h1,h2,h3,h4{font-family:var(--sans);letter-spacing:-.02em;margin:0;font-weight:300;line-height:1.08}h1{font-size:clamp(2.5rem,7.2vw,6rem)}.hero h1{font-size:clamp(2.5rem,6vw,5.2rem)}h2{font-size:clamp(1.75rem,3.6vw,2.9rem)}h3{letter-spacing:-.01em;font-size:clamp(1.25rem,2vw,1.6rem);font-weight:400}p{max-width:62ch;margin:0 0 1em}.amp{color:var(--accent-ink);font-weight:500}.dark .amp{color:var(--accent-lit)}.lbl{font:500 .72rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}.dark .lbl{color:var(--dust)}.lbl b{color:var(--accent-ink);font-weight:500}.dark .lbl b{color:var(--accent-lit)}.sheet-no{font:500 .72rem var(--mono);letter-spacing:.08em}.wrap{width:100%;max-width:1400px;padding-inline:var(--pad);margin-inline:auto}section{position:relative}.sec{padding-block:clamp(56px,9vw,128px)}.sec-paper2{background:var(--paper-2)}.dark{background:var(--ink);color:var(--paper)}.dark p{color:#dfe3cf}.rule{border:0;border-top:1px solid var(--hair);margin:0}.dark .rule{border-color:#efebe447}.btn{border:1px solid var(--ink);min-height:48px;color:var(--ink);font:500 .8rem var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .25s var(--ease), color .25s var(--ease), border-color .25s;background:0 0;border-radius:0;align-items:center;gap:.7em;padding:.7em 1.3em;text-decoration:none;display:inline-flex}.btn:hover{background:var(--ink);color:var(--paper)}.btn-primary{background:var(--accent);border-color:var(--ink);color:var(--ink)}.btn-primary:hover{background:var(--ink);border-color:var(--ink);color:var(--accent)}.dark .btn{border-color:var(--paper);color:var(--paper)}.dark .btn:hover{background:var(--paper);color:var(--ink)}.dark .btn-primary{background:var(--accent);border-color:var(--accent);color:var(--ink)}.dark .btn-primary:hover{color:var(--accent);background:0 0}.btn .arr{width:1.6em;height:1px;transition:width .25s var(--ease);background:currentColor;display:inline-block;position:relative}.btn .arr:after{content:"";border-top:1px solid;border-right:1px solid;width:7px;height:7px;position:absolute;top:-3px;right:0;transform:rotate(45deg)}.btn:hover .arr{width:2.3em}.tlink{font:500 .8rem var(--mono);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid;padding-bottom:2px;text-decoration:none}.tlink:hover{color:var(--accent-ink)}.dark .tlink:hover{color:var(--accent-lit)}.hdr{z-index:40;background:var(--paper);border-bottom:1px solid var(--hair);position:sticky;top:0}.hdr-in{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 24px;min-height:64px;padding-block:10px;display:flex}.mark{letter-spacing:-.01em;align-items:center;min-height:44px;font-size:1.15rem;font-weight:500;text-decoration:none;display:inline-flex}.nav{flex-wrap:wrap;gap:clamp(14px,2.6vw,36px);display:flex}.nav a{font:500 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;min-height:44px;text-decoration:none;display:inline-flex;position:relative}.nav a:after{content:"";background:var(--ink);transform-origin:0;height:2px;transition:transform .3s var(--ease);position:absolute;bottom:9px;left:0;right:0;transform:scaleX(0)}.nav a:hover:after,.nav a[aria-current=page]:after{transform:scaleX(1)}.nav a{padding-inline:4px}.ftr{background:var(--ink);color:var(--paper);padding-block:56px 32px}.tblock{border:1px solid #efebe466;grid-template-columns:repeat(12,1fr);display:grid}.tblock>div{border-bottom:1px solid #efebe466;border-right:1px solid #efebe466;grid-column:span 12;padding:16px 18px}.tblock>div:last-child{border-bottom:0}@media (width>=900px){.tblock>div{border-bottom:0}.tblock .c5{grid-column:span 5}.tblock .c3{grid-column:span 3}.tblock .c2{grid-column:span 2}.tblock .c4{grid-column:span 4}.tblock>div:last-child{border-right:0}}.tblock .v{margin-top:4px;font-size:1.05rem}.tblock a{border-bottom:1px solid var(--accent);text-decoration:none}.tblock .lbl{color:#b9c0aa}.ftr-bottom{font:400 .75rem var(--mono);color:#b9c0aa;flex-wrap:wrap;justify-content:space-between;gap:8px 28px;margin-top:28px;display:flex}.ftr-bottom a{color:var(--paper)}.ftr-bottom button{all:unset;cursor:pointer;color:var(--paper);text-decoration:underline}.hero{padding-top:clamp(28px,5vw,56px)}.hero-grid{gap:28px;display:grid}.hero h1{max-width:14ch}.hero .lead{max-width:38ch;margin-top:24px;font-size:clamp(1.1rem,1.7vw,1.4rem);font-weight:300}.cta-row{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.hero-art{border-top:1px solid var(--hair);position:relative}.hero-art svg.iso{width:100%;height:auto;max-height:62svh;margin-inline:auto}.stage-cap{position:absolute;bottom:0;left:0}@media (width>=900px){.hero-grid{grid-template-columns:5fr 7fr;align-items:center}}.scene-track{height:215svh;position:relative}.scene-track+.sec{margin-top:-6svh}.scene-stick{height:calc(100svh - 64px);position:sticky;top:64px;overflow:hidden}.scene-canvas{position:absolute;inset:0}.scene-canvas canvas{width:100%;height:100%}.scene-fallback{padding:0 var(--pad);place-items:center;display:grid;position:absolute;inset:0}.scene-fallback svg{width:min(100%,980px);height:auto;max-height:70%}.scene-on .scene-fallback{opacity:0;pointer-events:none;transition:opacity .6s}.scene-copy{left:var(--pad);pointer-events:none;gap:16px;width:min(46%,560px);display:grid;position:absolute;top:clamp(28px,8vh,88px)}.scene-copy>*{pointer-events:auto}.scene-copy h1{max-width:none;font-size:clamp(2.4rem,4.6vw,4.6rem)}.scene-copy .lead{margin-top:12px}.caps{right:var(--pad);text-align:right;gap:4px;display:grid;position:absolute;top:22px}.cap{opacity:0;transition:opacity .5s}.cap.on{opacity:1}.scroll-hint{position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.scene-axes{pointer-events:none;position:absolute;inset:0}.scene-axes:before{content:"";left:var(--pad);right:var(--pad);border-top:1px solid var(--hair);position:absolute;top:0}@media (width<=560px){.hdr-in{flex-wrap:nowrap;gap:10px;min-height:56px;padding-block:4px}.mark{font-size:1rem}.nav{flex-wrap:nowrap;gap:11px}.nav a{letter-spacing:.04em;font-size:.6rem}.nav a[href=\/works]{font-size:0}.nav a[href=\/works]:before{content:"Works";font-size:.6rem}.mailbig{white-space:normal;overflow-wrap:anywhere}}@media (width<=899px){.scene-fallback svg{width:100%;max-height:none}.scene-track{height:auto}.scene-stick{height:auto;position:relative;top:0;overflow:visible}.scene-canvas{display:none}.scene-fallback{padding-block:24px;position:relative}.scene-copy{width:auto;padding:0 var(--pad) 8px;order:-1;position:relative;top:0;left:0;right:0}.caps,.scroll-hint{display:none}.scene-stick{flex-direction:column;display:flex}}.iso{overflow:visible}.iso-line{fill:none;stroke:var(--slate);stroke-width:1px;stroke-linecap:square;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}.iso-ink .iso-line{stroke:var(--ink);stroke-width:1px}.iso-ink .k-context,.iso-blueprint .k-context{stroke:var(--stone)}.iso-ink .k-core{stroke:var(--ink);stroke-width:1.4px}.iso-blueprint .k-core{stroke:var(--accent-ink);stroke-width:1.6px}.iso-face{stroke:none}.k-context.s-top{fill:#d3d8c4}.k-context.s-left{fill:#bec5ac}.k-context.s-right{fill:#aab298}.k-slab.s-top{fill:#a2ab90}.k-slab.s-left{fill:#858f76}.k-slab.s-right{fill:#6f7961}.k-column.s-top,.k-column.s-left,.k-column.s-right{fill:var(--ink)}.k-core.s-top{fill:#f2f98a}.k-core.s-left{fill:var(--accent)}.k-core.s-right{fill:#c3ce2c}.k-shell.s-top,.k-shell.s-left,.k-shell.s-right{fill:var(--paper);fill-opacity:.42}.k-mass.s-top{fill:#cdd3b8}.k-mass.s-left{fill:#b6bd9f}.k-mass.s-right{fill:#9ea688}.k-roof.s-top{fill:#c2c9a6}.k-roof.s-left{fill:#a9b18a}.k-roof.s-right{fill:#919a73}html:not(.no-js) .draw .iso-line{stroke-dashoffset:1px}html:not(.no-js) .draw.go .iso-line{animation:draw 1.15s var(--d,0s) cubic-bezier(.5, 0, .2, 1) forwards}html:not(.no-js) .draw .iso-render{opacity:0}html:not(.no-js) .draw.go .iso-render{animation:fadein .9s calc(var(--render-delay,1.4s)) ease forwards}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fadein{to{opacity:1}}.pv{background:var(--paper-2);aspect-ratio:4/3;place-items:center;display:grid;position:relative;overflow:hidden}.pv img{object-fit:cover;width:100%;height:100%}.pv svg.iso{width:88%;height:88%;position:absolute;inset:6%}.pv.wide{aspect-ratio:16/9}.pv.tone-ink{background:var(--ink)}.pv.tone-ink .iso-blueprint .iso-line{stroke:#dfe3cf}.pv.tone-ink .iso-blueprint .k-context{stroke:#8f997f}.pv.tone-ink .iso-blueprint .k-core{stroke:var(--accent);stroke-width:1.8px}.pv.tone-ink:before,.pv.tone-ink:after{background:#efebe433}.pv.tone-dust{background:var(--dust)}.pv-tag{z-index:1;position:absolute;bottom:10px;left:12px}.pv.tone-ink .pv-tag{color:var(--dust)}.pv-north{z-index:1;width:22px;height:22px;position:absolute;top:10px;right:12px}.pv:before,.pv:after{content:"";background:var(--hair);pointer-events:none;position:absolute}.pv.drawing:before{opacity:.6;height:1px;bottom:18%;left:0;right:0}.pv.drawing:after{opacity:.6;width:1px;top:0;bottom:0;left:12%}.pcard{text-decoration:none;display:block}.pcard .pv img,.pcard .pv svg{transition:transform .8s var(--ease)}.pcard:hover .pv img,.pcard:hover .pv svg.iso{transform:scale(1.03)}.pcard .meta{border-top:1px solid var(--ink);justify-content:space-between;gap:12px;margin-top:12px;padding-top:10px;display:flex}.pcard h3{margin-top:6px}.pcard:hover h3{background:linear-gradient(var(--accent), var(--accent)) 0 88% / 100% .4em no-repeat}.pcard p.sum{color:var(--slate);margin-top:8px;font-size:.98rem}.strip{gap:clamp(28px,4vw,56px);display:grid}@media (width>=900px){.strip{grid-template-columns:repeat(12,1fr);align-items:start}.strip .a{grid-column:1/8}.strip .b{grid-column:9/13;margin-top:14vh}.strip .c{grid-column:2/7}.strip .d{grid-column:8/13;align-self:end}}.tools{gap:0;margin-top:24px;display:flex}.tools button{border:1px solid var(--ink);min-height:44px;font:500 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;color:var(--ink);background:0 0;padding:0 18px}.tools button+button{border-left:0}.tools button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.pgrid{gap:44px 32px;margin-top:40px;display:grid}@media (width>=700px){.pgrid{grid-template-columns:1fr 1fr}}.pgrid.list{grid-template-columns:1fr;gap:0}@media (width>=700px){.pgrid:not(.list) .pcard:last-child:nth-child(odd){grid-column:1/-1}.pgrid:not(.list) .pcard:last-child:nth-child(odd) .pv{aspect-ratio:21/9}}.pgrid.list .pcard{border-top:1px solid var(--hair);grid-template-columns:4rem 1fr;align-items:baseline;gap:6px 20px;padding:20px 0;display:grid}.pgrid.list .pcard .pv{display:none}@media (width>=900px){.pgrid.list .pcard{grid-template-columns:4rem 1.2fr 1fr 1fr 8rem}}.pgrid.list .pcard .meta{border:0;margin:0;padding:0;display:contents}.pgrid.list .pcard h3{margin:0}.pgrid.list .pcard p.sum,.row-extra{display:none}.pgrid.list .row-extra{display:block}.facts{border-top:1px solid var(--ink);gap:0;margin:0;display:grid}.facts>div{border-bottom:1px solid var(--hair);grid-template-columns:7rem 1fr;gap:12px;padding:12px 0;display:grid}.facts dt{font:500 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate);padding-top:4px}.facts dd{margin:0}.twocol{gap:28px 64px;display:grid}@media (width>=900px){.twocol{grid-template-columns:4fr 7fr}.twocol.even{grid-template-columns:1fr 1fr}}.iters{gap:28px;margin-top:36px;display:grid}@media (width>=900px){.iters{grid-template-columns:repeat(3,1fr)}}.iter{border-top:1px solid var(--ink);padding-top:12px}.iter .pv{aspect-ratio:5/4;background:var(--paper);margin-block:14px}.iter .v{color:var(--accent-ink)}.sec-paper2 .iter .pv{background:var(--paper)}.pager{border-top:1px solid var(--ink);gap:0;display:grid}@media (width>=700px){.pager{grid-template-columns:1fr 1fr}.pager a+a{border-left:1px solid var(--hair);text-align:right}}.pager a{padding:28px 0;text-decoration:none;display:block}@media (width>=700px){.pager a+a{padding-left:28px}.pager a:first-child{padding-right:28px}}.pager a:hover h3{background:linear-gradient(var(--accent), var(--accent)) 0 88% / 100% .4em no-repeat}.people{gap:28px;display:grid}@media (width>=900px){.people{grid-template-columns:1fr 1fr}}.person{background:var(--paper);border:1px solid var(--ink);padding:clamp(22px,3vw,40px)}.person .no{font:500 1.4rem/1 var(--mono);color:var(--ink);background:var(--accent);letter-spacing:.06em;margin-bottom:22px;padding:12px 14px;display:inline-block}.person h3{margin:8px 0 6px;font-size:clamp(1.5rem,2.4vw,2rem)}.person .lead-s{margin-bottom:8px;font-weight:500}.principles{counter-reset:p;border-top:1px solid var(--ink);gap:0;display:grid}.principles li{counter-increment:p;border-bottom:1px solid var(--hair);grid-template-columns:3.4rem 1fr;padding:18px 0;list-style:none;display:grid}.principles li:before{content:counter(p, decimal-leading-zero);font:500 .8rem var(--mono);color:var(--accent-ink);padding-top:4px}.principles{margin:0;padding:0}.principles strong{font-weight:500;display:block}.loop{width:min(100%,380px)}.loop .ring{fill:none;stroke:var(--ink);stroke-width:1px}.loop text{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;fill:var(--ink)}.dark .loop .ring,.dark .loop text{stroke:none}.dark .loop .ring{stroke:var(--paper)}.dark .loop text{fill:var(--paper)}.loop .dot{fill:var(--accent);stroke:var(--ink);stroke-width:1px}.steps{gap:0;display:grid}.step{border-top:1px solid var(--hair);padding-block:36px}.step h3{margin:6px 0 10px}@media (width>=900px){.scrolly{grid-template-columns:6fr 5fr;align-items:start;gap:56px;display:grid}.scrolly .sticky{place-items:center;height:calc(100svh - 120px);display:grid;position:sticky;top:88px}.scrolly .step{opacity:.35;flex-direction:column;justify-content:center;min-height:54svh;transition:opacity .5s;display:flex}.scrolly .step.on{opacity:1}.scrolly .inline-vis{display:none}}@media (width<=899px){.scrolly .sticky{display:none}.step .inline-vis{margin-top:18px}}.scrolly .panel{background:var(--paper-2);aspect-ratio:1/.82;place-items:center;width:100%;max-width:680px;max-height:100%;display:grid;position:relative}.scrolly .panel .iso{width:84%;height:84%;transition:opacity .6s;position:absolute;inset:8%}.scrolly .panel .iso.off{opacity:0}.panel-lbl{position:absolute;top:12px;left:14px}.panel-lbl2{position:absolute;bottom:12px;right:14px}.ba{-webkit-user-select:none;user-select:none;touch-action:pan-y;background:var(--paper);border:1px solid var(--ink);aspect-ratio:16/10;position:relative;overflow:hidden}.ba .layer{place-items:center;display:grid;position:absolute;inset:0}.ba .layer svg{width:82%;height:82%}.ba .after{clip-path:inset(0 0 0 var(--pos,50%));background:var(--paper-2)}.ba .tag{position:absolute;top:12px}.ba .tag.l{left:14px}.ba .tag.r{right:14px}.ba .handle{top:0;bottom:0;left:var(--pos,50%);background:var(--ink);pointer-events:none;width:2px;position:absolute;transform:translate(-1px)}.ba .handle:after{content:"";border:2px solid var(--ink);background:var(--accent);width:22px;height:22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.ba input{opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;position:absolute;inset:0}.ba:has(input:focus-visible){outline:2px solid var(--accent-ink);outline-offset:3px}.mailbig{letter-spacing:-.02em;white-space:nowrap;box-shadow:inset 0 -.34em 0 var(--accent);font-size:clamp(1.1rem,3.2vw,2.6rem);font-weight:300;text-decoration:none}.mailbig:hover{color:var(--accent-ink)}.prose h2{margin:2em 0 .5em;font-size:1.5rem;font-weight:400}.prose ul{max-width:62ch;padding-left:1.1em}html.ok-intro:before{content:"";z-index:2147483640;background:var(--ink);position:fixed;inset:0}.intro{z-index:2147483645;background:var(--ink);color:var(--paper);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.intro.lift{transition:transform .9s cubic-bezier(.7,0,.2,1);transform:translateY(-101%)}.intro .plan{z-index:2;width:min(86vw,900px);height:auto;max-height:72svh;position:relative}.intro .pl{fill:none;stroke:var(--paper);stroke-width:1.4px;stroke-dasharray:1;stroke-dashoffset:1px;vector-effect:non-scaling-stroke;animation:draw 1.1s var(--d,0s) cubic-bezier(.5, 0, .2, 1) forwards}.intro .pl.thin{stroke-width:.8px;stroke:var(--dust)}.intro .pl.hot{stroke:var(--accent);stroke-width:2.4px}.intro text{font:500 11px var(--mono);letter-spacing:.08em;fill:var(--dust);opacity:0;animation:fadein .5s var(--d,1s) forwards}.intro .brand{left:var(--pad);z-index:3;position:absolute;bottom:28px}.intro .brand .lbl{color:var(--dust)}.intro .brand .nm{font-size:clamp(1.2rem,3vw,1.8rem);font-weight:300}.intro .skip-btn{right:var(--pad);border:1px solid var(--accent);min-height:44px;font:500 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;color:var(--accent);z-index:3;background:0 0;padding:0 16px;position:absolute;top:18px}.intro .skip-btn:hover{background:var(--accent);color:var(--ink)}.intro .prog{background:var(--accent);z-index:3;transform-origin:0;width:100%;height:3px;animation:prog var(--dur,3.4s) linear forwards;position:absolute;bottom:0;left:0;transform:scaleX(0)}@keyframes prog{to{transform:scaleX(1)}}.intro .iso-wrap{width:min(84vw,880px);position:relative}.intro .iso-wrap svg{width:100%;height:auto;max-height:66svh}html:not(.no-js) .intro.easy .draw.go .iso-render{opacity:1;clip-path:inset(0 100% 0 0);animation:wipe .9s 1.8s var(--ease) forwards}@keyframes wipe{to{clip-path:inset(0)}}[data-reveal]{transition:opacity .9s var(--ease), transform .9s var(--ease)}html:not(.no-js) [data-reveal]:not(.in){opacity:0;transform:translateY(14px)}.easy-v [data-reveal]{transition:opacity 1s}html:not(.no-js) .easy-v [data-reveal]:not(.in){transform:none}.clip-reveal{clip-path:inset(0)}html:not(.no-js) .clip-reveal:not(.in){clip-path:inset(0 100% 0 0)}.clip-reveal{transition:clip-path 1.2s var(--ease)}.pv.parallax img{will-change:transform}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-delay:0s!important}html:not(.no-js) [data-reveal]:not(.in),html:not(.no-js) .clip-reveal:not(.in){opacity:1;clip-path:none;transform:none}html:not(.no-js) .draw .iso-line{stroke-dashoffset:0}html:not(.no-js) .draw .iso-render{opacity:1}html.ok-intro:before{display:none}}.scroll-hint{transition:opacity .4s}.scroll-hint.gone{opacity:0}.ftr-bottom a,.tblock a,.tlink,.lbl a,.principles a,.mailbig,.prose a{align-items:center;min-height:44px;display:inline-flex}.ftr-bottom a,.ftr-bottom button{padding-inline:4px}.principles a{padding-block:11px;display:inline-block}.nav a{justify-content:center;min-width:44px}.lbl a{min-height:44px}.prose p a{min-height:0;display:inline}.ftr-bottom span{flex-wrap:wrap;align-items:center;gap:12px;display:flex}@media (width>=900px){.easy-v .step{grid-template-columns:5fr 6fr;align-items:center;gap:0 56px;padding-block:48px;display:grid}.easy-v .step>:not(.inline-vis){grid-column:1}.easy-v .step .inline-vis{grid-area:1/2/span 3;max-width:560px}}.ph{background:var(--ink);margin:0;position:relative;overflow:hidden}.ph>img{object-fit:cover;width:100%;height:100%}.ph:after{content:"";pointer-events:none;background:#1b221a29;position:absolute;inset:0}.topo{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.topo .iso-line{stroke:var(--accent);stroke-width:1px}.topo .tp-c .iso-line{stroke-opacity:.62;stroke-width:.9px}.topo.dim .tp-c .iso-line{stroke-opacity:.4}.topo .tp.thin{stroke-opacity:.4;stroke-width:.8px}.topo .tp.route{stroke-width:2px;stroke-opacity:1}.topo .tp-fill{fill:var(--accent)}.topo .tp-t{font:500 13px var(--mono);letter-spacing:.1em;fill:var(--accent);text-transform:uppercase}.topo .tp-t.sm{opacity:.85;font-size:11px}html:not(.no-js) .topo .tp-t,html:not(.no-js) .topo .tp-fill{opacity:0}html:not(.no-js) .topo.go .tp-t,html:not(.no-js) .topo.go .tp-fill{animation:.8s 1.6s forwards fadein}.ph-cap{left:var(--pad);z-index:2;position:absolute;bottom:14px;color:var(--accent)!important}.loop .rev{fill:none;stroke:var(--accent-ink)}.dark .loop .rev{stroke:var(--accent)}.hero-photo{padding-block:clamp(40px,7vw,96px);position:relative;overflow:hidden}.stage-bg{z-index:0;inset:0;position:absolute!important}.stage-bg:after{background:#1b221a80!important}.hero-photo .wrap{z-index:2;position:relative}.hero-photo h1,.scene-copy h1{color:var(--paper)}.hero-photo .lead,.scene-copy .lead{color:#e6e9d8}.hero-photo .btn:not(.btn-primary),.scene-copy .btn:not(.btn-primary){border-color:var(--paper);color:var(--paper)}.hero-photo .btn:not(.btn-primary):hover,.scene-copy .btn:not(.btn-primary):hover{background:var(--paper);color:var(--ink)}.hero-photo .hero-art{border-top-color:#dadcce66}.scene-stick{background:var(--ink)}.scene-stick .stage-bg{z-index:0}.scene-fallback,.scene-canvas,.scene-copy,.caps,.scroll-hint{z-index:2}.scene-axes{z-index:1}.scene-axes:before{border-top-color:#dadcce4d}.caps .cap,.scroll-hint{color:var(--accent)}.scene-fallback svg .iso-line{stroke:var(--ink)}.intro .bg{object-fit:cover;opacity:0;width:100%;height:100%;animation:.7s forwards bgin,1s 1.9s forwards bgdim;position:absolute;inset:0}.intro.easy .bg{animation:.7s forwards bgin}@keyframes bgin{to{opacity:.9}}@keyframes bgdim{to{opacity:.28;filter:grayscale(.7)}}.intro .intro-topo{z-index:1}.intro:not(.easy) .intro-topo .tp-c .iso-line{animation:draw 1.4s var(--d,0s) cubic-bezier(.5, 0, .2, 1) forwards, topodim .8s 2s ease forwards}@keyframes topodim{to{stroke-opacity:.22}}html:not(.no-js) .intro .topo.go .iso-line{animation:draw 1.6s var(--d,0s) cubic-bezier(.5, 0, .2, 1) forwards}html:not(.no-js) .intro:not(.easy) .topo.go .tp-c .iso-line{animation:draw 1.6s var(--d,0s) cubic-bezier(.5, 0, .2, 1) forwards, topodim .8s 2s ease forwards}.intro.easy .brand .nm{font-size:clamp(1.6rem,4.4vw,3rem)}.intro .brand .nm .amp{color:var(--accent)}.phead{padding-block:clamp(48px,9vw,120px) clamp(36px,6vw,72px);position:relative;overflow:hidden}.phead-in{z-index:2;align-items:end;gap:32px;display:grid;position:relative}@media (width>=900px){.phead-in{grid-template-columns:7fr 4fr}}.phead h1{color:var(--paper);max-width:16ch}.phead .lead{color:#e6e9d8;max-width:52ch;margin-top:22px;font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:300}.phead .lbl{color:var(--accent)}.phead-bg:after{background:#1b221a80!important}.phead-loop .loop{margin-inline:auto}.band{position:relative}.band .ph{height:clamp(300px,52vw,620px)}.callout{left:var(--pad);z-index:2;background:var(--accent);max-width:22ch;color:var(--ink);font:500 clamp(1.1rem, 2.2vw, 1.6rem)/1.25 var(--sans);letter-spacing:-.01em;margin:0;padding:14px 18px;position:absolute;top:clamp(20px,5vw,56px)}.sec-photo{overflow:hidden}.sec-photo>.wrap{z-index:2;position:relative}.sec-bg{object-fit:cover;opacity:.4;width:100%;height:100%;position:absolute;inset:0}.pv.site{background:var(--ink)}.pv.site>img{z-index:0;position:absolute;inset:0}.pv.site:before,.pv.site:after{display:none}.pv.site .topo{z-index:1}.pv.site svg.iso{z-index:2;width:84%;height:84%;inset:8%}.pv.site .iso-ink .iso-line,.pv.site .iso-blueprint .iso-line{stroke:var(--ink)}.pv.site .pv-tag{color:var(--accent);z-index:3}.pv.site .pv-north{z-index:3}.pcard:hover .pv.site>img{transform:scale(1.03)}.pcard .pv.site svg.iso{transform:none}.inline-vis.pv.site{background:var(--ink)}.scrolly .panel.tone-ink{background:var(--ink);overflow:hidden}.panel>img{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.panel .topo{z-index:1}.panel .iso{z-index:2}.panel.tone-ink .iso-blueprint .iso-line{stroke:#e4e8d6}.panel.tone-ink .iso-blueprint .k-context{stroke:#98a388}.panel.tone-ink .iso-blueprint .k-core{stroke:var(--accent);stroke-width:1.8px}.panel.tone-ink .iso-ink .iso-line{stroke:var(--ink)}.panel-lbl,.panel-lbl2{z-index:3;color:var(--accent)!important}.panel-lbl b{color:var(--accent)!important}.inline-vis.pv.site>img{z-index:0}.inline-vis.pv.site svg.iso{z-index:2;width:84%;height:84%;position:absolute;inset:8%}.inline-vis.pv.site .iso-blueprint .iso-line{stroke:#e4e8d6}.inline-vis.pv.site .iso-blueprint .k-core{stroke:var(--accent)}.clines{border-top:1px solid var(--ink);gap:0;margin:18px 0 0;padding:0;list-style:none;display:grid}.clines li{border-bottom:1px solid var(--hair);grid-template-columns:6rem 1fr;align-items:center;gap:4px 12px;padding:6px 0;display:grid}.clines a{overflow-wrap:anywhere;min-height:44px;box-shadow:inset 0 -2px 0 var(--accent);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.clines a:hover{background:var(--accent)}.home-who .clines li,.clines.stack li{display:block}.dark .clines{border-color:#dadcce66}.dark .clines li{border-color:#dadcce40}.in-ico{flex:none;width:22px;height:22px}.in-ico rect{fill:var(--ink)}.in-ico path,.dark .in-ico rect{fill:var(--accent)}.dark .in-ico path{fill:var(--ink)}.tblock .fl{gap:0;font-size:.95rem;display:grid}.tblock .fl a{min-height:44px;text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px;overflow-wrap:anywhere;border-bottom:0;align-items:center;gap:8px;display:inline-flex}.sec-paper2 .clines a:hover,.person .clines a:hover{background:var(--accent)}.person{background:var(--paper);border:1px solid var(--ink)}@media (width<=560px){.clines li{grid-template-columns:1fr}}.intro .tp-n{display:none}.phead-bg{z-index:0;inset:0;position:absolute!important}.clines.stack li{grid-template-columns:1fr;gap:0;padding:10px 0;display:grid}.clines.stack a{justify-self:start}.pcard h3{width:fit-content}.intro .brand{top:22px;bottom:auto}.easy-v main .draw .iso-line{stroke-dashoffset:0!important;animation:none!important}.easy-v main .draw .iso-render{opacity:1!important;animation:none!important}.easy-v .nav a:after{transition:none}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
