@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/_astro/bricolage-grotesque-vietnamese-standard-normal.Br4FGdAc.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/_astro/bricolage-grotesque-latin-ext-standard-normal.qp-RdZgh.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/_astro/bricolage-grotesque-latin-standard-normal.C5Lc8Qmc.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");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}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Bricolage Grotesque Variable", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Bricolage Grotesque Variable", ui-sans-serif, system-ui, -apple-system, sans-serif;--default-mono-font-family:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace}}@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]){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;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}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:5rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{background-color:var(--paper);color:var(--ink);font-family:var(--font-sans);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:1.0625rem;line-height:1.6}::selection{background:var(--accent-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}a{color:inherit;text-decoration:none}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.02em;text-wrap:balance;line-height:1.15}}@layer components{.container-page{width:100%;max-width:64rem;margin-inline:auto;padding-inline:1.5rem}@media (width>=640px){.container-page{padding-inline:2rem}}.reading{max-width:42rem}.statement{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(2.5rem,5.6vw,4.75rem);font-weight:500;line-height:1.04}.section-title{letter-spacing:-.02em;font-size:clamp(1.75rem,2.6vw,2.25rem);font-weight:600;line-height:1.1}.intro{max-width:40rem;color:var(--ink-2);font-size:1.125rem;line-height:1.65}@media (width>=640px){.intro{font-size:1.25rem}}.lede{max-width:42rem;color:var(--muted)}.link{color:var(--accent);text-underline-offset:.2em;text-decoration:underline 1px;-webkit-text-decoration-color:var(--accent-soft);-webkit-text-decoration-color:var(--accent-soft);text-decoration-color:var(--accent-soft);transition:text-decoration-color .15s}.link:hover{-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.nav-link{color:var(--ink-2);transition:color .15s}.nav-link:hover{color:var(--ink)}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.mt-1{margin-top:var(--spacing)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-12{margin-top:calc(var(--spacing) * 12)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-8{height:calc(var(--spacing) * 8)}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-4{width:calc(var(--spacing) * 4)}.w-8{width:calc(var(--spacing) * 8)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.flex-col{flex-direction:column}.items-baseline{align-items:baseline}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-y-1{row-gap:var(--spacing)}.gap-y-8{row-gap:calc(var(--spacing) * 8)}.gap-y-14{row-gap:calc(var(--spacing) * 14)}.rounded-full{border-radius:2147483647px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-rule{border-color:var(--rule)}.bg-dud{background-color:var(--dud)}.bg-flight{background-color:var(--flight)}.bg-ship{background-color:var(--ship)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-6{padding-top:calc(var(--spacing) * 6)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[0\.8125rem\]{font-size:.8125rem}.text-\[0\.9375rem\]{font-size:.9375rem}.text-\[1\.0625rem\]{font-size:1.0625rem}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-ink{color:var(--ink)}.text-ink-2{color:var(--ink-2)}.text-muted{color:var(--muted)}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:text-ink:hover{color:var(--ink)}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:absolute:focus{position:absolute}.focus\:top-4:focus{top:calc(var(--spacing) * 4)}.focus\:left-4:focus{left:calc(var(--spacing) * 4)}.focus\:z-50:focus{z-index:50}.focus\:bg-paper:focus{background-color:var(--paper)}.focus\:px-4:focus{padding-inline:calc(var(--spacing) * 4)}.focus\:py-2:focus{padding-block:calc(var(--spacing) * 2)}.focus\:text-ink:focus{color:var(--ink)}@media (width>=40rem){.sm\:grid-cols-\[9rem_1fr\]{grid-template-columns:9rem 1fr}.sm\:py-32{padding-block:calc(var(--spacing) * 32)}.sm\:pt-1{padding-top:var(--spacing)}.sm\:pt-px{padding-top:1px}}.dark\:block:where([data-theme=dark],[data-theme=dark] *){display:block}@media (prefers-color-scheme:dark){.dark\:block:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *){display:block}}.dark\:hidden:where([data-theme=dark],[data-theme=dark] *){display:none}@media (prefers-color-scheme:dark){.dark\:hidden:where(:root:not([data-theme=light]),:root:not([data-theme=light]) *){display:none}}.\[\&_p\]\:m-0 p{margin:0}}:root{--paper:#f7f7fa;--paper-2:#eeeef3;--ink:#24232d;--ink-2:#4c4b58;--muted:#686775;--rule:#dedee7;--accent:#6046b7;--accent-soft:#eae5fb;--surface:#fff;--soft-surface:#f0eef6;--ship:#1e7a4c;--flight:#b25e0a;--dud:#686775;color-scheme:light}:root[data-theme=dark]{--paper:#19191f;--paper-2:#222229;--ink:#f0eef7;--ink-2:#c5c2d0;--muted:#a29fae;--rule:#38363f;--accent:#c0acf7;--accent-soft:#373047;--surface:#222128;--soft-surface:#24212e;--ship:#4cc38a;--flight:#e3a24a;--dud:#a29fae;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#19191f;--paper-2:#222229;--ink:#f0eef7;--ink-2:#c5c2d0;--muted:#a29fae;--rule:#38363f;--accent:#c0acf7;--accent-soft:#373047;--surface:#222128;--soft-surface:#24212e;--ship:#4cc38a;--flight:#e3a24a;--dud:#a29fae;color-scheme:dark}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.reveal{animation:.5s ease-out both rise}.prose{--tw-prose-body:var(--ink-2);--tw-prose-headings:var(--ink);--tw-prose-links:var(--accent);--tw-prose-bold:var(--ink);--tw-prose-counters:var(--muted);--tw-prose-bullets:var(--rule);--tw-prose-hr:var(--rule);--tw-prose-quotes:var(--ink-2);--tw-prose-quote-borders:var(--rule);--tw-prose-code:var(--ink);--tw-prose-pre-bg:var(--paper-2);--tw-prose-pre-code:var(--ink-2);--tw-prose-th-borders:var(--rule);--tw-prose-td-borders:var(--rule)}.prose a{text-underline-offset:.2em;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--accent-soft);-webkit-text-decoration-color:var(--accent-soft);text-decoration-color:var(--accent-soft);transition:text-decoration-color .15s}.prose a:hover{-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.prose :where(code):not(:where(pre code)){background:var(--paper-2);border-radius:4px;padding:.15em .35em;font-weight:400}.prose :where(code):not(:where(pre code)):before,.prose :where(code):not(:where(pre code)):after{content:none}.container-page{max-width:1200px;padding-inline:36px}.site-header{z-index:50;background:var(--paper);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--paper) 92%, transparent)}}.site-header{backdrop-filter:blur(18px);border-bottom:1px solid var(--rule)}.header-inner{justify-content:space-between;align-items:center;gap:24px;height:88px;display:flex}.wordmark{white-space:nowrap;align-items:center;gap:13px;font-size:15px;font-weight:600;display:flex}.personal-mark{letter-spacing:-2px;background:var(--ink);color:var(--paper);border-radius:50%;place-items:center;width:39px;height:39px;padding-bottom:2px;padding-right:3px;font-size:25px;display:grid}.site-header nav{align-items:center;gap:30px;font-size:14px;display:flex}.site-header .active{color:var(--accent)}.header-contact{border:1px solid var(--rule);white-space:nowrap;border-radius:7px;padding:9px 15px}.header-contact span{margin-left:12px}#theme-toggle{border-radius:50%;width:40px;height:40px}#theme-toggle:hover{background:var(--paper-2)}.hero{grid-template-columns:minmax(0,1.6fr) minmax(310px,1fr);align-items:center;gap:74px;padding-top:94px;padding-bottom:90px;display:grid}.hello{color:var(--muted);margin-bottom:21px;font-size:14px}.hero h1{letter-spacing:-.065em;white-space:nowrap;font-size:clamp(48px,6.4vw,82px);font-weight:550;line-height:1.08}.hero-statement{letter-spacing:-.035em;margin-top:21px;font-size:clamp(23px,2.7vw,33px);line-height:1.24}.hero-description{max-width:530px;color:var(--ink-2);margin-top:23px;font-size:17px;line-height:1.7}.hero-profiles{flex-wrap:wrap;align-items:center;gap:24px;margin-top:21px;display:flex}.hero-profiles a{align-items:center;min-height:32px;display:inline-flex}.opportunity-note{border-left:2px solid var(--accent);max-width:530px;color:var(--ink);margin-top:20px;padding-left:15px;font-size:15px;font-weight:500;line-height:1.65}.contact-opportunities{flex-wrap:wrap;gap:15px 28px;margin-top:25px;display:flex}.contact-opportunities a{min-height:32px}.hero-actions{align-items:center;gap:28px;margin-top:30px;font-size:14px;display:flex}.button-primary{background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:7px;justify-content:center;align-items:center;gap:27px;padding:13px 19px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.button-primary:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.quiet-link{white-space:nowrap;border-bottom:1px solid var(--rule);padding-bottom:3px;font-size:14px}.quiet-link:hover{color:var(--accent);border-color:var(--accent)}.quiet-link span{margin-left:12px}.hero-location{color:var(--muted);align-items:center;gap:8px;margin-top:29px;font-size:12px;display:flex}.location-mark{font-size:20px}.now-panel{border:1px solid var(--rule);background:var(--surface);border-radius:14px;padding:27px 25px 23px;transform:rotate(1deg);box-shadow:0 8px 30px #18132f04}.now-heading{color:var(--muted);align-items:center;gap:9px;margin-bottom:13px;font-size:13px;display:flex}.live-dot{background:#529178;border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 4px #52917812}.now-item{border-bottom:1px solid var(--rule);align-items:center;gap:12px;padding:18px 0;display:flex}.now-item strong{font-size:16px;font-weight:550;display:block}.now-item small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.now-symbol{border-radius:10px;flex-shrink:0;place-items:center;width:37px;height:37px;font-size:26px;display:grid}.rl-symbol{color:#486d95;background:#e6eef8}.compass-symbol{color:#7552b1;background:#ece5f7}.agency-symbol{color:#93704b;background:#f1e8df}.now-arrow{color:var(--muted);margin-left:auto;font-size:17px}.now-item:hover strong,.now-item:hover .now-arrow{color:var(--accent)}.now-note{color:var(--muted);max-width:280px;padding-top:18px;font-size:12px;line-height:1.7}.now-note a{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.section-space{padding-top:72px;padding-bottom:72px;scroll-margin-top:88px}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px;display:flex}.section-heading h2{letter-spacing:-.045em;font-size:clamp(27px,3vw,35px);font-weight:550;line-height:1.15}.section-heading p{color:var(--muted);max-width:510px;margin-top:12px;font-size:14px}.section-aside{color:var(--muted);white-space:nowrap;padding-bottom:2px;font-size:12px}#projects{padding-top:17px}.featured-project{background:var(--soft-surface);border:1px solid var(--rule);border-radius:15px;grid-template-columns:1fr 1fr;min-height:390px;display:grid;overflow:hidden}.featured-copy{flex-direction:column;align-items:start;padding:43px 42px;display:flex}.project-meta{color:var(--muted);flex-wrap:wrap;gap:7px 18px;font-size:11px;display:flex}.project-meta span+span:before{content:"";vertical-align:middle;background:currentColor;border-radius:50%;width:4px;height:4px;margin-right:7px;display:inline-block}.featured-copy h3{letter-spacing:-.055em;margin-top:27px;font-size:45px;font-weight:550}.project-line{letter-spacing:-.025em;max-width:360px;margin-top:16px;font-size:23px;line-height:1.3}.project-description{color:var(--ink-2);max-width:355px;margin-top:16px;font-size:14px;line-height:1.7}.project-link{border-bottom:1px solid var(--muted);align-items:center;gap:55px;margin-top:27px;padding-bottom:4px;font-size:13px;font-weight:550;display:inline-flex}.project-link:hover{color:var(--accent)}.visual-link{min-width:0;display:block}.visual-link:focus-visible{outline-offset:-5px}.project-visual{color:#53466b;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:300px;margin:0;display:flex;position:relative;overflow:hidden}.compass-visual{background:#e8e1f4;padding:27px 32px}.visual-topline{color:#62536f;justify-content:space-between;gap:15px;width:100%;padding-inline:30px;font-size:11px;display:flex;position:absolute;top:25px;left:0}.visual-topline span:first-child{font-weight:600}.compass-dial{flex-shrink:0;width:90%;max-width:380px;margin-top:20px}.system-flow{justify-content:center;align-items:center;gap:9px;width:90%;margin-top:-2px;font-size:10px;display:flex}.system-flow span{white-space:nowrap;background:#f5f1fb;border:1px solid #baabd0;border-radius:5px;padding:8px 12px}.system-flow i{background:#a08cbf;width:22px;height:1px}.project-visual figcaption{color:#645375;margin-top:20px;font-size:11px}.project-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;margin-top:32px;display:grid}.project-study{min-width:0}.project-study .visual-link{border-radius:12px;height:310px;overflow:hidden}.study-copy{padding:24px 2px 0}.study-copy h3{letter-spacing:-.035em;margin-top:15px;font-size:28px;font-weight:550}.study-copy h3 a{justify-content:space-between;align-items:center;display:flex}.study-copy h3 a:hover{color:var(--accent)}.study-copy h3 span{font-size:21px;font-weight:400}.study-copy>p{color:var(--ink-2);max-width:480px;margin-top:13px;font-size:14px;line-height:1.75}.rl-visual{color:#385975;background:#e5edf5;padding:55px 38px 25px}.rl-visual .visual-topline,.rl-visual figcaption{color:#4d6378}.eval-diagram{width:100%;max-width:370px}.eval-task{color:#38536c;background:#f7fafd;border:1px solid #b6cada;border-radius:9px;align-items:center;gap:14px;padding:18px 20px;font-size:13px;display:flex}.task-icon{color:#6684a2;font-size:25px}.eval-task small{color:#587186;margin-top:3px;font-size:10px;display:block}.eval-path{align-items:center;gap:8px;margin-top:22px;font-size:11px;display:flex}.eval-path span{text-align:center;white-space:nowrap;background:#f1f6fb;border:1px solid #b6cada;border-radius:5px;flex:1;padding:10px 0}.eval-path i{background:#8eaac1;width:15px;height:1px}.eval-return{text-align:center;border:1px solid #adc1d1;border-top:0;border-radius:0 0 8px 8px;height:27px;margin:0 30px;position:relative}.eval-return span{color:#526c81;background:#e5edf5;padding:0 10px;font-size:9px;position:relative;top:16px}.rl-visual figcaption{margin-top:27px}.rental-visual{color:#355f53;background:#e4eeea;padding:52px 25px 23px}.rental-visual .visual-topline,.rental-visual figcaption{color:#4e6b61}.rental-map{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:48px 55px;width:340px;max-width:100%;height:182px;padding:5px 0;display:grid;position:relative}.rental-map:before,.rental-map:after{content:"";border:1px solid #acc9bd;border-radius:45%;position:absolute;inset:35px 55px;transform:rotate(24deg)}.rental-map:after{transform:rotate(-24deg)}.rental-role{z-index:1;text-align:center;background:#f7fbf9;border:1px solid #b7cfc4;border-radius:8px;flex-direction:column;justify-content:center;min-height:59px;font-size:12px;display:flex;position:relative}.rental-role small{color:#58776b;margin-top:2px;font-size:9px}.rental-home{color:#416d5a;z-index:2;background:#d0e3da;border:1px solid #a9c8b9;border-radius:13px;width:63px;height:63px;padding:11px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rental-visual figcaption{margin-top:12px}.writing-section{background:var(--paper-2);border-block:1px solid var(--rule)}.writing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;display:grid}.writing-preview{flex-direction:column;align-items:start;padding:6px 0;display:flex}.article-topic{color:var(--accent);font-size:12px}.writing-preview h3{letter-spacing:-.035em;margin-top:19px;font-size:23px;font-weight:500;line-height:1.25}.writing-preview h3 a:hover{color:var(--accent)}.writing-preview>p{color:var(--muted);flex:1;margin-top:14px;font-size:13px;line-height:1.75}.article-bottom{width:100%;color:var(--muted);justify-content:space-between;align-items:center;margin-top:25px;font-size:11px;display:flex}.article-bottom a{border:1px solid var(--rule);width:36px;height:36px;color:var(--ink);border-radius:50%;place-items:center;font-size:17px;display:grid}.article-bottom a:hover{border-color:var(--accent);color:var(--accent)}.agency-block{grid-template-columns:1fr 1fr;gap:80px;padding:20px 0;display:grid}.agency-intro{align-items:start;gap:22px;display:flex}.agency-icon{background:var(--accent-soft);color:var(--accent);border-radius:14px;flex-shrink:0;place-items:center;width:54px;height:54px;font-size:40px;display:grid}.agency-block h2{letter-spacing:-.04em;font-size:32px;font-weight:500;line-height:1.2}.agency-block p{color:var(--ink-2);margin-bottom:17px;font-size:15px;line-height:1.8}.agency-block .button-primary{margin-top:6px}.experience-section{border-top:1px solid var(--rule)}.career-proof{grid-template-columns:repeat(3,1fr);gap:30px;margin:38px 0 43px;display:grid}.career-proof strong{letter-spacing:-.04em;font-size:32px;font-weight:500;display:block}.career-proof span{color:var(--muted);margin-top:2px;font-size:12px;display:block}.career-entry{border-top:1px solid var(--rule)}.career-entry:last-child{border-bottom:1px solid var(--rule)}.career-entry summary{cursor:pointer;grid-template-columns:1fr 1.2fr 1fr 20px;align-items:center;gap:20px;padding:24px 0;list-style:none;display:grid}.career-entry summary::-webkit-details-marker{display:none}.career-company{align-items:center;gap:10px;font-size:16px;font-weight:550;display:flex}.current-label{color:var(--accent);font-size:10px;font-weight:400}.career-role{color:var(--ink-2);font-size:13px}.career-period{color:var(--muted);text-align:right;font-size:12px}.expand-mark{color:var(--muted);text-align:right;font-size:20px}.career-entry[open] .expand-mark{transform:rotate(45deg)}.career-detail{max-width:930px;color:var(--ink-2);padding:0 0 28px 27%;font-size:14px}.career-detail>p:first-child{color:var(--muted);margin-bottom:15px;font-size:13px}.career-detail ul{gap:9px;padding-left:17px;list-style:outside;display:grid}.career-stack{color:var(--muted);margin-top:18px;font-size:11px}.site-footer{background:var(--paper-2);border-top:1px solid var(--rule);margin-top:30px}.footer-top{justify-content:space-between;align-items:center;gap:30px;padding:50px 0;display:flex}.footer-top p{letter-spacing:-.04em;font-size:27px;line-height:1.25}.footer-email{letter-spacing:-.03em;font-size:24px}.footer-email span{margin-left:25px}.footer-email:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--rule);color:var(--muted);justify-content:space-between;gap:20px;padding:23px 0;font-size:11px;display:flex}.footer-bottom nav{gap:22px;display:flex}.footer-bottom a:hover{color:var(--accent)}.pdf-label{color:var(--muted);font-size:10px}.article-shell{max-width:820px;padding-block:65px 100px}.article-header{margin-top:42px}.article-header h1{letter-spacing:-.05em;margin-top:17px;font-size:clamp(35px,4.3vw,56px);font-weight:550;line-height:1.08}.article-deck{color:var(--ink-2);margin-top:23px;font-size:20px;line-height:1.6}.article-meta{color:var(--muted);flex-wrap:wrap;gap:17px;margin-top:24px;font-size:12px;display:flex}.article-tags{gap:13px;margin-top:20px;font-size:12px;display:flex}.article-body{max-width:100%;margin-top:42px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:17px;line-height:1.85}.article-body h2,.article-body h3{font-family:var(--font-sans);letter-spacing:-.025em}.article-body h2{margin-top:2.1em;font-size:28px}.article-body pre{overflow-x:auto}.article-end{border-top:1px solid var(--rule);justify-content:space-between;gap:20px;margin-top:50px;padding-top:26px;font-size:14px;display:flex}.article-body a{-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.blog-heading{padding-top:76px;padding-bottom:45px}.blog-heading h1{letter-spacing:-.06em;font-size:clamp(48px,7vw,79px);font-weight:550;line-height:1.1}.blog-heading p{max-width:610px;color:var(--ink-2);margin-top:20px;font-size:18px}.blog-tools{justify-content:space-between;align-items:center;gap:20px;margin-top:33px;display:flex}.blog-filters{flex-wrap:wrap;gap:7px;display:flex}.filter-button{border:1px solid var(--rule);color:var(--ink-2);cursor:pointer;border-radius:6px;padding:7px 13px;font-size:12px}.filter-button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.blog-search{border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:6px;width:220px;padding:9px 13px;font-size:13px}.blog-list{padding-bottom:80px}.blog-item{border-top:1px solid var(--rule);grid-template-columns:150px 1fr 45px;align-items:start;gap:40px;padding:34px 0;display:grid}.blog-item[hidden]{display:none}.blog-item h2{letter-spacing:-.04em;font-size:30px;font-weight:500;line-height:1.2}.blog-item h2 a:hover{color:var(--accent)}.blog-item p{color:var(--muted);max-width:580px;margin-top:12px;font-size:14px}.blog-item-meta{color:var(--muted);font-size:12px}.blog-item-meta span{margin-top:8px;display:block}.blog-item-icon{text-align:right;font-size:24px}.blog-results{color:var(--muted);margin-bottom:20px;font-size:12px}.empty-search{color:var(--muted);padding:40px 0;font-size:17px}.case-heading{padding-block:65px 40px}.case-heading h1{letter-spacing:-.06em;margin-top:25px;font-size:clamp(48px,7vw,80px);font-weight:550}.case-heading .case-deck{letter-spacing:-.03em;max-width:730px;margin-top:20px;font-size:clamp(22px,3vw,32px);line-height:1.35}.case-facts{color:var(--ink-2);flex-wrap:wrap;gap:45px;margin-top:30px;font-size:13px;display:flex}.case-facts dt{color:var(--muted);margin-bottom:5px;font-size:11px}.case-art{border-radius:14px;max-width:100%;height:380px;overflow:hidden}.case-art .compass-dial{max-width:365px}.case-content{max-width:780px;padding-block:50px 80px}.case-section{grid-template-columns:170px 1fr;gap:35px;margin-bottom:36px;display:grid}.case-section h2{font-size:18px;font-weight:550;line-height:1.3}.case-section p{color:var(--ink-2);font-size:16px;line-height:1.8}.case-links{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:22px;padding-top:30px;display:flex}.case-related{color:var(--muted);margin-top:35px;font-size:14px;line-height:1.6}.case-related a{color:var(--accent);margin-top:8px;display:block}@media (width>=1500px){.hero{padding-top:115px;padding-bottom:105px}}@media (width<=1020px){.hero{grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:40px}.hero h1{font-size:64px}.hero-description{font-size:15px}.now-panel{padding:22px 20px}.now-item small{font-size:10px}.featured-copy{padding:32px}.project-line{font-size:21px}.project-description{font-size:13px}.agency-block{gap:45px}.agency-block h2{font-size:28px}.career-entry summary{grid-template-columns:1fr 1fr .9fr 15px;gap:12px}}@media (width<=800px){.container-page{padding-inline:25px}.header-inner{height:76px}.site-header nav{gap:20px}.hero{grid-template-columns:1fr;gap:35px;padding-top:58px;padding-bottom:63px}.hero h1{font-size:74px}.hero-description{max-width:600px;font-size:17px}.hero-statement{font-size:31px}.now-panel{grid-template-columns:repeat(3,1fr);gap:10px 20px;margin-top:5px;display:grid;transform:none}.now-heading{grid-column:1/-1;margin-bottom:0}.now-item{align-items:start;gap:9px;padding:12px 0 16px}.now-item strong{font-size:13px}.now-item small{max-width:140px;font-size:10px}.now-symbol{border-radius:7px;width:27px;height:27px;font-size:22px}.now-arrow{display:none}.now-note{grid-column:1/-1;max-width:none;padding-top:3px}.section-space{padding-top:53px;padding-bottom:53px}.featured-project{grid-template-columns:1fr 1fr}.featured-copy{padding:28px 24px}.featured-copy h3{margin-top:24px;font-size:37px}.compass-visual{padding-inline:17px}.system-flow{gap:5px}.system-flow span{padding:7px;font-size:9px}.system-flow i{width:12px}.project-pair{gap:23px}.project-study .visual-link{height:280px}.rl-visual,.rental-visual{padding-inline:20px}.rental-map{gap:48px 36px}.visual-topline{padding-inline:20px;font-size:10px}.writing-grid{gap:26px}.writing-preview h3{font-size:21px}.agency-block{gap:30px}.agency-intro{gap:14px}.agency-block h2{font-size:26px}.agency-icon{border-radius:10px;width:40px;height:40px;font-size:30px}.career-company{font-size:14px}.career-role{font-size:12px}.career-period{font-size:11px}.footer-bottom>span:last-child{display:none}.blog-item{grid-template-columns:120px 1fr 25px;gap:25px}.blog-item h2{font-size:26px}}@media (width<=580px){.container-page{padding-inline:21px}.header-inner{gap:12px;height:72px}.wordmark{gap:8px;font-size:13px}.personal-mark{width:32px;height:32px;font-size:21px}.site-header nav{gap:15px;font-size:12px}.header-contact,.site-header nav>a[href="/#about"]{display:none}#theme-toggle{width:32px;height:36px}.hero{gap:30px;padding-top:45px;padding-bottom:52px}.hello{margin-bottom:16px;font-size:12px}.hero h1{font-size:clamp(44px,10.8vw,61px)}.hero-statement{margin-top:18px;font-size:27px}.hero-description{margin-top:21px;font-size:15px;line-height:1.75}.hero-actions{gap:23px;margin-top:25px}.hero-location{gap:7px;margin-top:22px;font-size:10px}.now-panel{padding:22px;display:block}.now-heading{margin-bottom:7px}.now-item{align-items:center;gap:12px;padding:15px 0}.now-item strong{font-size:15px}.now-item small{max-width:none;font-size:11px}.now-symbol{width:33px;height:33px;font-size:25px}.now-arrow{display:block}.now-note{padding-top:16px;font-size:11px}.section-heading{align-items:start;margin-bottom:26px}.section-heading h2{font-size:28px}.section-heading p{font-size:13px;line-height:1.65}.section-aside{display:none}.section-heading>.quiet-link{margin-top:5px;font-size:12px}.section-heading>.quiet-link span{margin-left:4px}.featured-project{grid-template-columns:1fr}.featured-copy{padding:28px}.featured-copy h3{margin-top:21px;font-size:40px}.project-line{font-size:23px}.project-description{font-size:14px}.featured-project .visual-link{height:310px}.compass-dial{max-width:310px;margin-top:17px}.system-flow{gap:9px;width:80%}.system-flow span{padding:7px 13px;font-size:10px}.project-visual figcaption{margin-top:13px}.project-pair{grid-template-columns:minmax(0,1fr);gap:35px;margin-top:27px}.project-study .visual-link{height:280px}.study-copy{padding-top:21px}.study-copy h3{font-size:27px}.study-copy>p{font-size:14px}.rl-visual{padding-inline:30px}.rl-visual figcaption{margin-top:29px}.rental-visual{padding-inline:29px}.rental-map{gap:48px 50px;width:340px}.writing-grid{grid-template-columns:1fr;gap:27px}.writing-preview{border-top:1px solid var(--rule);padding-top:25px}.writing-preview h3{margin-top:12px;font-size:25px}.writing-preview>p{margin-top:11px;font-size:14px}.article-bottom{margin-top:15px}.agency-block{grid-template-columns:1fr;gap:24px;padding:0}.agency-block h2{font-size:30px}.agency-icon{width:46px;height:46px;font-size:33px}.agency-block p{font-size:14px}.career-proof{gap:17px;margin:28px 0}.career-proof strong{font-size:27px}.career-proof span{font-size:10px;line-height:1.5}.career-entry summary{grid-template-columns:1fr 17px;gap:3px 8px;padding:21px 0}.career-company{font-size:16px}.career-role{grid-area:2/1;font-size:12px}.career-period{text-align:left;grid-area:3/1;margin-top:4px;font-size:11px}.expand-mark{grid-area:1/2/4}.career-detail{padding:0 5px 24px 0;font-size:13px}.career-detail>p:first-child{font-size:12px}.footer-top{align-items:start;padding:35px 0}.footer-top p{font-size:22px}.footer-email{white-space:nowrap;padding-top:4px;font-size:17px}.footer-email span{margin-left:8px}.footer-bottom{flex-wrap:wrap;gap:13px;padding:22px 0}.footer-bottom nav{gap:18px}.article-shell{padding-block:38px 65px}.article-header{margin-top:30px}.article-header h1{font-size:39px}.article-deck{font-size:17px}.article-body{font-size:16px;line-height:1.8}.article-body h2{font-size:25px}.article-end{font-size:12px}.blog-heading{padding-top:43px;padding-bottom:32px}.blog-heading h1{font-size:54px}.blog-heading p{font-size:16px}.blog-tools{flex-direction:column;align-items:stretch;gap:18px}.blog-search{width:100%;font-size:16px}.blog-item{grid-template-columns:1fr 24px;gap:15px;padding:27px 0}.blog-item-meta{grid-column:1/-1;align-items:center;gap:14px;font-size:11px;display:flex}.blog-item-meta span{margin:0}.blog-item h2{font-size:27px}.blog-item-icon{font-size:20px}.case-heading{padding-block:38px 30px}.case-heading h1{font-size:55px}.case-facts{gap:20px}.case-facts>div{flex-basis:100%}.case-art{height:310px}.case-section{grid-template-columns:1fr;gap:13px}.case-section p{font-size:15px}.case-section h2{font-size:21px}.case-content{padding-block:35px 55px}}.product-filters{flex-wrap:wrap;gap:8px;margin-top:32px;display:flex}.product-filters a{border:1px solid var(--rule);background:var(--surface);border-radius:7px;align-items:center;gap:12px;padding:10px 13px;font-size:13px;display:inline-flex}.product-filters a[aria-current]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.product-filters a span{opacity:.75;font-size:10px}.topic-select{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.topic-select select{border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:6px;padding:9px 30px 9px 12px}.series-intro{color:var(--muted);gap:30px;margin-top:28px;font-size:14px;display:flex}.work-period{color:var(--muted);margin-top:12px;font-size:12px}.series-navigation{border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:24px;margin-top:50px;padding-top:25px;display:grid}.series-navigation a{font-size:15px;line-height:1.5}.series-navigation a:hover{color:var(--accent)}.series-navigation small{color:var(--muted);margin-bottom:10px;font-size:11px;display:block}.product-writing{padding-bottom:70px}.series-list{list-style:none}.series-list li{border-top:1px solid var(--rule)}.series-list a{grid-template-columns:32px 1fr 55px;align-items:start;gap:24px;padding:22px 0;display:grid}.series-list strong{font-size:18px;font-weight:500;line-height:1.3}.series-list small{color:var(--muted);margin-top:7px;font-size:13px;line-height:1.6;display:block}.series-number,.series-time{color:var(--muted);padding-top:4px;font-size:12px}.series-list a:hover strong{color:var(--accent)}.platform-sections{padding-bottom:65px}.component-map{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;display:grid}.component-map>div{border-top:1px solid var(--rule);padding-top:22px}.component-map h3{font-size:20px;font-weight:500}.component-map p{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.75}.access-panel{background:var(--soft-surface);border-radius:12px;justify-content:space-between;align-items:center;gap:30px;margin-top:50px;padding:35px;scroll-margin-top:110px;display:flex}.access-panel h2{font-size:28px;font-weight:500}.access-panel p{color:var(--ink-2);max-width:450px;margin-top:12px;font-size:14px}.access-panel .button-primary{flex-shrink:0}.case-access-top{margin-top:25px}.project-index{padding-bottom:75px}.project-index .project-pair{row-gap:50px}.study-copy h2{letter-spacing:-.035em;margin-top:15px;font-size:28px;font-weight:550}.study-copy h2 a{justify-content:space-between;align-items:center;gap:15px;display:flex}.study-copy h2 a:hover{color:var(--accent)}.study-copy h2 span{font-size:21px}.platform-visual{color:#4d526f;background:#e7e9f3;padding:65px 35px 25px}.platform-visual.registry{color:#6a563f;background:#eee7dc}.platform-map{text-align:center;width:100%;max-width:340px;font-size:12px}.platform-source,.platform-hub{background:#f8f9fc;border:1px solid #bfc3d9;border-radius:7px;padding:12px}.platform-hub{background:#d8dded;font-size:15px;font-weight:500}.platform-trunk{background:#aeb4cd;width:1px;height:20px;margin:auto}.platform-branches{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:25px;display:grid;position:relative}.platform-branches:before{content:"";background:#aeb4cd;height:1px;position:absolute;top:12px;left:15%;right:15%}.platform-branches span{background:#f8f9fc;border:1px solid #bfc3d9;border-radius:5px;padding:9px 3px;font-size:11px;position:relative}.platform-branches span:before{content:"";background:#aeb4cd;width:1px;height:13px;position:absolute;top:-14px;left:50%}.registry .platform-source,.registry .platform-branches span{background:#faf7f1;border-color:#cebfa9}.registry .platform-hub{background:#e4d8c5;border-color:#cebfa9}.registry .platform-trunk,.registry .platform-branches:before,.registry .platform-branches span:before{background:#bdad95}.platform-visual figcaption{margin-top:24px}.stealth-note,.personal-note{grid-template-columns:1fr 1fr;gap:75px;display:grid}.stealth-note{background:var(--soft-surface);border-radius:14px;padding:36px}.stealth-note h2,.personal-note h2{letter-spacing:-.035em;font-size:34px;font-weight:500;line-height:1.2}.stealth-note h2{margin-top:14px}.stealth-note p,.personal-note p{color:var(--ink-2);margin-bottom:17px;font-size:16px;line-height:1.8}.personal-note{padding-top:35px}@media (width<=800px){.component-map{grid-template-columns:1fr 1fr}.access-panel{flex-direction:column;align-items:start}.stealth-note,.personal-note{gap:30px}.stealth-note{padding:28px}.stealth-note h2,.personal-note h2{font-size:29px}.platform-visual{padding-inline:22px}.platform-branches{gap:7px}.series-list a{gap:15px}.product-filters a{font-size:12px}.blog-item-meta{flex-wrap:wrap}}@media (width<=580px){.component-map{grid-template-columns:1fr}.access-panel{padding:25px}.access-panel h2{font-size:25px}.access-panel .button-primary{white-space:normal;gap:12px;width:100%}.stealth-note,.personal-note{grid-template-columns:1fr;gap:20px}.personal-note{padding-top:20px}.stealth-note{padding:25px}.stealth-note p,.personal-note p{font-size:15px}.series-list a{grid-template-columns:23px 1fr;gap:13px}.series-list strong{font-size:17px}.series-time{display:none}.series-list small{font-size:12px}.series-navigation{gap:20px}.series-navigation a{font-size:13px}.platform-visual{padding-inline:26px}.product-filters{gap:7px}.product-filters a{padding:9px 11px}.topic-select select{flex:1}.product-writing .section-heading{flex-wrap:wrap}.article-meta{gap:8px 14px}}.tooling-visual{color:#425d49;background:#e9efe8;padding:65px 35px 25px}.tooling-map{grid-template-columns:1fr 20px 1fr 20px 1fr;align-items:center;width:100%;max-width:390px;display:grid}.tooling-map>div{text-align:center;background:#f7faf6;border:1px solid #b8cbb9;border-radius:8px;flex-direction:column;justify-content:center;min-height:118px;padding:14px 10px;display:flex}.tooling-map small{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.tooling-map strong{margin-top:8px;font-size:14px;font-weight:550}.tooling-map span{margin-top:7px;font-size:10px;line-height:1.5}.tooling-map>i{background:#9db4a0;height:1px;position:relative}.tooling-map>i:after{content:"";border-top:1px solid #79957d;border-right:1px solid #79957d;width:6px;height:6px;position:absolute;top:-3px;right:-1px;transform:rotate(45deg)}.tooling-visual figcaption{margin-top:24px}@media (width<=580px){.case-art:has(>.tooling-visual),.project-study .visual-link:has(>.tooling-visual){height:auto}.tooling-visual{height:auto;min-height:0;padding-inline:20px}.tooling-map{flex-shrink:0;grid-template-columns:1fr;gap:10px}.tooling-map>div{min-height:auto;padding:12px}.tooling-map>i{width:1px;height:10px;margin:auto}.tooling-map>i:after{top:5px;right:-3px;transform:rotate(135deg)}}.contact-heading{max-width:1050px}.contact-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px;display:flex}.contact-heading .contact-hint{color:var(--muted);max-width:540px;margin-top:17px;font-size:12px}.contact-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;padding-block:20px 70px;display:grid}.contact-options article{border-top:1px solid var(--rule);padding-top:25px}.contact-options h2{font-size:24px;font-weight:500;line-height:1.25}.contact-options p,.contact-alternatives p{color:var(--ink-2);margin-block:18px;font-size:15px;line-height:1.75}.contact-options .link{font-size:13px}.contact-alternatives{grid-template-columns:1fr 1fr;gap:70px;padding-bottom:75px;display:grid}.contact-alternatives h2{font-size:26px;font-weight:500}.contact-alternatives>div{border-top:1px solid var(--rule);padding-top:25px}@media (width<=650px){.contact-options,.contact-alternatives{grid-template-columns:1fr;gap:30px}.contact-options{padding-bottom:45px}.contact-actions{flex-direction:column;align-items:start;gap:18px}.contact-options h2{font-size:25px}.contact-alternatives h2{font-size:24px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
