@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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_Sans_6d343d;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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_Sans_6d343d;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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_Sans_6d343d;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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_Sans_6d343d;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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_Sans_6d343d;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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_Sans_6d343d;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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_Sans_6d343d;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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_Sans_6d343d;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Sans_6d343d;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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_Sans_6d343d;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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_Sans_Fallback_6d343d;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_6d343d{font-family:__IBM_Plex_Sans_6d343d,__IBM_Plex_Sans_Fallback_6d343d;font-style:normal}.__variable_6d343d{--font-sans:"__IBM_Plex_Sans_6d343d","__IBM_Plex_Sans_Fallback_6d343d"}@font-face{font-family:__Fraunces_d4d11e;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Fraunces_d4d11e;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Fraunces_d4d11e;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Fraunces_d4d11e;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Fraunces_d4d11e;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Fraunces_d4d11e;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Fraunces_d4d11e;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Fraunces_d4d11e;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Fraunces_d4d11e;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Fraunces_Fallback_d4d11e;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_d4d11e{font-family:__Fraunces_d4d11e,__Fraunces_Fallback_d4d11e;font-style:normal}.__variable_d4d11e{--font-serif:"__Fraunces_d4d11e","__Fraunces_Fallback_d4d11e"}:root{--font-sans:"IBM Plex Sans",system-ui,sans-serif;--font-serif:"Fraunces",ui-serif,Georgia,serif;--bg:#f6f4ef;--surface:#fff;--ink:#1f1f1a;--muted:#4d4a44;--accent:#0f766e;--accent-strong:#115e59;--accent-soft:#d7efe9;--risk:#b42318;--risk-soft:#fde7e1;--warn:#8a4b08;--warn-soft:#fdecc8;--decision:#1d4ed8;--decision-soft:#e0e7ff;--tradeoff:#b45309;--tradeoff-soft:#ffedd5;--border:#d6d1c7;--shadow:0 18px 40px rgba(21,23,20,.08);--nav-width:250px;--nav-min-width:220px;--page-max:900px;--shell-pad-x:32px;--shell-pad-top:28px;--shell-gap:var(--shell-pad-x);--nav-width-compact:210px;--nav-min-width-compact:190px}*{box-sizing:border-box}body,html{padding:0;margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);line-height:1.6;min-height:100%;min-height:100svh;height:-webkit-fill-available;overflow-x:hidden}body.lightbox-open,html.lightbox-open{overflow:hidden;height:100%;position:fixed;width:100%}body.lightbox-open .single-shell{position:fixed;inset:0;overflow:hidden;width:100%}a{color:inherit;text-decoration:none}main{min-height:100%;min-height:100svh;min-height:-webkit-fill-available}.docs-shell{display:grid;grid-template-columns:minmax(var(--nav-min-width),var(--nav-width)) 1fr;grid-gap:var(--shell-gap);gap:var(--shell-gap)}.docs-shell,.home-shell{padding:var(--shell-pad-top) var(--shell-pad-x) 64px}.home-shell{display:flex;justify-content:center}.single-shell{position:relative;min-height:100svh;height:100svh;padding:0 var(--shell-pad-x);display:grid;grid-template-columns:minmax(var(--nav-min-width),var(--nav-width)) 1fr;grid-gap:var(--shell-gap);gap:var(--shell-gap);align-items:stretch;overflow:hidden}.single-shell .nav-pane{align-self:stretch;height:100%;min-height:0;padding-bottom:var(--shell-pad-top);box-sizing:border-box;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.single-shell .nav-pane::-webkit-scrollbar{display:none}.single-shell .content-pane{align-self:stretch;height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.single-shell .content-pane::-webkit-scrollbar{display:none}.single-nav .nav-group{margin-bottom:14px}.single-nav .nav-group.contents-group{margin-left:14px;padding-left:6px}.single-nav .nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}.single-nav .nav-label-active{color:var(--accent-strong);display:flex;align-items:center;gap:6px}.single-nav .muted-link{color:#9ca3af;font-size:12px;font-weight:400;padding:4px 10px;display:block;text-align:left}.single-nav a,.single-nav button{display:block;padding:7px 10px;border-radius:10px;font-size:14px;color:var(--muted);background:transparent;border:none;text-align:left;width:100%;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.single-nav a:hover,.single-nav button.active,.single-nav button:hover{background:var(--accent-soft);color:var(--accent-strong)}.single-nav button.active{font-weight:600}.home-wrap{max-width:980px;width:100%;display:grid;grid-gap:24px;gap:24px}.home-header{display:grid;grid-gap:12px;gap:12px}.home-header h1{font-family:var(--font-serif);font-size:42px;margin:0}.home-meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:14px}.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px;gap:16px}.project-card{border:1px solid var(--border);border-radius:18px;padding:18px;background:#fff;display:grid;grid-gap:12px;gap:12px;box-shadow:var(--shadow)}.project-card h3{margin:0;font-size:20px}.project-card p{margin:0;color:var(--muted)}.project-tags{display:flex;flex-wrap:wrap;gap:8px}.project-tags span{font-size:12px;padding:4px 10px;border-radius:999px;background:#eef2f7;color:#334155}.project-cta{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--accent-strong)}.home-section{display:grid;grid-gap:12px;gap:12px}.doc-content section{margin-bottom:36px;scroll-margin-top:18px}.project-media{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));margin:16px 0 24px}.project-media figure{margin:0;display:grid;grid-gap:8px;gap:8px;min-width:0}.project-media img{display:block;width:100%;max-width:100%;height:auto;border-radius:16px;border:1px solid var(--border);box-shadow:var(--shadow)}.image-button{display:block;padding:0;border:none;background:transparent;cursor:zoom-in}.image-button:hover img{transform:translateY(-2px);transition:transform .2s ease}.lightbox{position:fixed;inset:0;background:rgba(15,23,42,.75);display:grid;place-items:center;padding:24px;z-index:10;overscroll-behavior:contain;touch-action:auto}.lightbox img,.lightbox-svg{max-width:min(100%,1100px);max-height:90vh;border-radius:18px;border:1px solid var(--border);box-shadow:0 24px 60px rgba(15,23,42,.35);touch-action:pinch-zoom}.lightbox-svg{width:100%;background:#fff;padding:16px}.lightbox-svg svg{width:100%;height:auto;max-height:90vh}.lightbox-close{position:fixed;top:24px;right:24px;background:#fff;border:1px solid var(--border);border-radius:999px;padding:8px 14px;cursor:pointer;font-size:14px}.project-media figcaption{font-size:clamp(12px,.95vw,14px);color:var(--muted)}.technical-scope{display:inline-grid;width:max-content;max-width:100%;margin:10px 0 16px;padding:6px 16px 16px;border-radius:16px;background:linear-gradient(90deg,#eef6f4,#fff);border:none;gap:10px}.technical-scope h3{margin:0;padding:0;font-size:13px;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-strong)}.technical-scope-item strong{display:block;font-size:14px;line-height:1.25}.technical-scope-item p{margin:2px 0 0;font-size:14px;line-height:1.35;color:var(--muted)}.mobile-nav,.mobile-sheet{display:none}@media (max-width:1070px){:root{--shell-pad-x:20px;--shell-pad-top:28px;--shell-gap:var(--shell-pad-x);--nav-width:var(--nav-width-compact);--nav-min-width:var(--nav-min-width-compact)}.docs-shell{grid-template-columns:1fr}.docs-shell,.home-shell{padding:var(--shell-pad-top) var(--shell-pad-x) 56px}.single-shell{height:auto;padding:var(--shell-pad-top) var(--shell-pad-x) 0;grid-template-columns:1fr;gap:20px;align-items:start;overflow:visible}.nav{position:static;width:auto}.doc-content{margin-left:0;width:auto;height:auto;overflow:visible}.single-shell .nav{position:static;max-width:none;width:100%}.single-shell .doc-content{width:100%;height:auto;min-height:auto;margin-top:0;margin-bottom:48px;overflow:visible}.single-shell .nav{display:none}.single-shell .nav-pane{display:none;padding-bottom:0}.single-shell .content-pane,.single-shell .nav-pane{height:auto;min-height:auto;overflow:visible}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px;position:fixed;left:var(--shell-pad-x);right:var(--shell-pad-x);bottom:12px;padding:10px;background:hsla(37,37%,86%,.96);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5}.mobile-nav a,.mobile-nav button{border:none;background:transparent;font-size:13px;font-weight:600;color:var(--muted);padding:8px 6px;border-radius:12px;text-align:center}.mobile-nav a.active,.mobile-nav button.active{background:var(--accent-soft);color:var(--accent-strong)}.mobile-sheet{display:grid;position:fixed;inset:0;background:rgba(15,23,42,.55);align-items:end;z-index:12}.mobile-sheet-card{background:var(--surface);border-radius:20px 20px 0 0;border:1px solid var(--border);box-shadow:0 -24px 60px rgba(15,23,42,.25);padding:12px 16px 24px;max-height:70vh;overflow:auto}.mobile-sheet-handle{width:48px;height:5px;border-radius:999px;background:#d1d5db;margin:4px auto 10px}.mobile-sheet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.mobile-sheet-header button{border:none;background:transparent;font-size:14px;color:var(--accent-strong)}.mobile-sheet-list{display:grid;grid-gap:10px;gap:10px}.mobile-sheet-list a,.mobile-sheet-list button{border:1px solid var(--border);background:#fff;border-radius:12px;padding:10px 12px;font-size:14px;text-align:left;color:var(--ink)}.mobile-sheet-list a.active,.mobile-sheet-list button.active{background:var(--accent-soft);border-color:#99f6e4;color:var(--accent-strong);font-weight:600}.mobile-sheet-sublist{display:grid;grid-gap:8px;gap:8px;padding-left:8px}.single-shell{padding-bottom:96px}.home-header h1{font-size:34px}}.nav{top:var(--shell-pad-top);left:var(--shell-pad-x);width:var(--nav-width);background:var(--surface);border-radius:18px;box-shadow:var(--shadow);padding:20px 18px;border:1px solid var(--border);overflow:hidden;position:fixed}.single-shell .nav{position:relative;top:auto;left:auto;width:var(--nav-width);min-width:var(--nav-min-width);max-width:var(--nav-width);margin-top:0;align-self:start;height:auto;min-height:auto;overflow:visible;box-sizing:border-box}.nav>*{position:relative;z-index:1}.nav h2{font-family:var(--font-serif);font-size:18px;margin:0 0 14px}.nav-back{display:inline-flex;font-size:13px;color:var(--accent-strong);margin-bottom:12px}.nav-divider{height:1px;background:var(--border);margin:12px 0}.nav-divider-subtle{margin:8px 0 10px;opacity:.6}.nav-divider-contents{width:calc(100% - 20px);margin-left:10px}.nav-connector-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.nav-connector-svg path{stroke:var(--accent-strong);stroke-width:2px;fill:none;opacity:.85}.nav a{display:block;padding:8px 10px;border-radius:10px;color:var(--muted);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav a.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.doc-content{background:var(--surface);border-radius:24px;padding:36px 48px 56px;border:1px solid var(--border);box-shadow:var(--shadow);max-width:var(--page-max);margin-left:calc(var(--nav-width) + 32px);width:calc(100% - var(--nav-width) - 32px);height:auto;overflow:visible;margin-bottom:48px;max-width:100%;overflow-wrap:normal}.single-shell .doc-content{margin-left:0;width:100%;max-width:none;margin-top:0;align-self:start;height:auto;min-height:auto;margin-bottom:48px;overflow:visible}@media (min-width:1071px){.single-shell .doc-content,.single-shell .nav{margin-top:var(--shell-pad-top)}}.doc-back{display:inline-flex;font-size:13px;color:var(--accent-strong);margin-bottom:10px}@media (max-width:1070px){.doc-content{padding:28px 24px 48px;max-width:100%}}@media (max-width:600px){.doc-content{padding:20px 16px 40px;border-radius:18px}.project-media{grid-template-columns:minmax(0,1fr);gap:12px;margin:12px 0 20px}.mobile-nav{left:12px;right:12px}}.doc-title{font-family:var(--font-serif);font-size:clamp(28px,6vw,40px);margin:0;line-height:1.1;word-break:normal;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none}.doc-subtitle{color:var(--muted);margin:0 0 10px;font-size:clamp(15px,1.15vw,18px)}.doc-content pre{max-width:100%;overflow-x:auto;white-space:pre-wrap;word-break:break-word;background:#f8f7f3;border:1px solid var(--border);border-radius:12px;padding:12px 14px}.doc-content a,.doc-content h1,.doc-content h2,.doc-content h3,.doc-content h4,.doc-content li,.doc-content p{overflow-wrap:anywhere}.profile-role{color:var(--ink);margin:0 0 12px}.profile-role-primary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:clamp(16px,2.1vw,24px);font-weight:800;line-height:1.25;letter-spacing:.01em}.profile-role-primary>span{white-space:nowrap}.profile-role-primary .role-secondary-track{display:inline-flex;align-items:center;gap:4px 10px;white-space:nowrap;color:color-mix(in srgb,var(--accent-strong) 82%,var(--ink));font-family:var(--font-serif);font-weight:700;letter-spacing:.005em}@media (min-width:1070px){.profile-role-primary .role-secondary-track{font-size:clamp(13px,1.35vw,17px);font-weight:600;line-height:1.2}}.profile-role-primary .role-divider{color:var(--muted)}.profile-role-primary .role-mobile-break{display:block;flex-basis:100%;height:0}.profile-role-primary .role-divider-leading{display:none}.profile-role-secondary{margin-top:6px;font-size:clamp(14px,1.6vw,17px);font-weight:700;color:color-mix(in srgb,var(--ink) 88%,var(--muted));line-height:1.35}.profile-company{color:color-mix(in srgb,var(--ink) 72%,var(--muted));font-weight:700;letter-spacing:.01em}.profile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.profile-avatar{width:110px;height:110px;border-radius:50%;object-fit:cover;border:1px solid var(--border);box-shadow:var(--shadow)}@media (min-width:901px){.profile-avatar{width:160px;height:160px}.profile-name{padding-right:230px}}@media (min-width:1100px){.profile-avatar{width:200px;height:200px}}@media (max-width:1350px){.profile-avatar{width:145px;height:145px}}.about-section{position:relative}.about-section .profile-avatar-button{position:absolute;top:0;right:0;display:block;padding:0;margin:0;line-height:0}.profile-title-block{padding-right:0;min-width:0}.profile-header .profile-role{margin-top:18px;padding-right:0}.profile-name{display:block;padding-right:140px}@media (max-width:1550px){.profile-role-primary{gap:2px 0}.profile-role-primary>span{white-space:nowrap}}@media (max-width:800px){.about-section .profile-avatar{width:120px;height:120px}.profile-header{flex-direction:column;gap:10px;margin-bottom:16px}.profile-name{padding-right:0}.profile-header .profile-role{margin-top:10px}.profile-role-primary,.profile-role-primary .role-secondary-track,.profile-role-primary>span{white-space:normal}.profile-role-primary .role-secondary-track{gap:4px 8px}.role-detail{display:block;margin-left:0;margin-top:4px}.tldr{width:100%;max-width:100%}.tldr-item{white-space:normal}.technical-scope{display:grid;width:100%;max-width:100%;padding:12px 14px 14px}.technical-scope-item p{overflow-wrap:anywhere}}.role-detail{display:inline-block;margin-left:16px;font-size:clamp(14px,1.05vw,16px);line-height:1.5;color:var(--muted)}.resume-content{margin-left:0;margin-right:0;width:100%;max-width:none}.resume-helper{margin:10px 0 16px;color:var(--muted);font-size:14px}.resume-viewer{width:100%;background:#f8f7f3;border:1px solid var(--border);border-radius:16px;padding:16px}.resume-pages{display:grid;grid-gap:20px;gap:20px}.resume-page{width:100%;height:auto;border-radius:12px;box-shadow:0 10px 30px rgba(15,23,42,.12);background:#fff}.tldr{display:block;width:100%;max-width:100%;border-radius:18px;border:none;background:linear-gradient(90deg,#eef6f4,#fff);padding:14px;margin:6px 0 24px;box-sizing:border-box}.tldr-items{margin:0;padding:0;display:grid;grid-gap:4px;gap:4px}.tldr-item{margin:0;padding:0;font-size:clamp(15px,1.35vw,17px);font-weight:560;line-height:1.45;letter-spacing:.005em;color:color-mix(in srgb,var(--ink) 92%,#0f766e);max-width:100%;white-space:normal}.about-tldr{width:max-content;max-width:none}.about-tldr .tldr-item{white-space:nowrap}.about-tldr .tldr-item+.tldr-item:before{content:"-";display:block;text-align:center;color:var(--muted);font-weight:600;margin:2px 0 6px}.callout{border-radius:16px;padding:16px 18px;margin:18px 0;border:1px solid transparent}.callout .label{font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.08em;margin-bottom:6px}.callout.decision{background:var(--decision-soft);border-color:#c7d2fe}.callout.tradeoff{background:var(--tradeoff-soft);border-color:#fed7aa}.callout.risk{background:var(--risk-soft);border-color:#fecaca}.callout.mitigation{background:var(--accent-soft);border-color:#99f6e4}.callout.warn{background:var(--warn-soft);border-color:#fcd34d}.mermaid-card{border:1px solid var(--border);border-radius:16px;padding:14px;margin:20px 0;background:#fff;transition:transform .2s ease,box-shadow .2s ease;display:block;width:100%;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none}.mermaid-card.is-clickable{cursor:zoom-in}.mermaid-card.is-clickable:hover{transform:translateY(-2px);box-shadow:0 24px 60px rgba(15,23,42,.18)}.mermaid-body svg{width:100%;height:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mermaid-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(21,23,20,.15)}.doc-content h2{font-family:var(--font-serif);margin-top:32px;margin-bottom:10px;font-size:clamp(22px,2.3vw,30px);line-height:1.2}.doc-content h3{margin-top:24px;font-size:clamp(17px,1.55vw,21px);line-height:1.25}.doc-content p{color:var(--muted);margin:0 0 6px;line-height:1.62}.doc-content li,.doc-content p{font-size:clamp(15px,1.05vw,17px)}.doc-content li{line-height:1.58}.doc-content a{font-size:inherit}.doc-content ul{padding-left:clamp(20px,2vw,32px);color:var(--muted);margin:0 0 10px}.kicker{display:inline-flex;gap:8px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.1em;background:#e2e8f0;color:#334155;padding:4px 10px;border-radius:999px;margin-bottom:12px}.cover-hero{display:grid;grid-gap:20px;gap:20px}.cover-hero h1{font-family:var(--font-serif);font-size:44px;margin:0}.cover-hero p{font-size:18px;margin:0;color:var(--muted)}.cover-links{display:flex;flex-wrap:wrap;gap:12px}.cover-links a{border:1px solid var(--border);padding:8px 12px;border-radius:12px;background:#fff;font-size:14px}.section-footer{margin-top:32px;padding-top:18px;border-top:1px dashed var(--border);color:var(--muted)}.route-spinner{position:fixed;right:18px;top:16px;width:34px;height:34px;border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 65%,#fff);background:color-mix(in srgb,#fff 88%,var(--bg));box-shadow:var(--shadow);display:grid;place-items:center;z-index:40;pointer-events:none}.route-spinner-dot{width:14px;height:14px;border-radius:999px;border:2px solid color-mix(in srgb,var(--accent-strong) 70%,transparent);border-top-color:var(--accent-strong);animation:route-spin .7s linear infinite}@keyframes route-spin{to{transform:rotate(1turn)}}@media (max-width:800px){.about-section .profile-header{flex-direction:column;gap:10px;margin-bottom:16px}.about-section .profile-name{padding-right:0}.about-section .profile-header .profile-role{margin-top:10px}.about-section .profile-role-primary,.about-section .profile-role-primary .role-secondary-track,.about-section .profile-role-primary>span{white-space:normal}.about-section .profile-role-primary .role-secondary-track{gap:4px 8px}.about-section .role-detail{display:block;margin-left:0;margin-top:4px}.about-section .tldr{width:100%;max-width:100%}.about-section .tldr-item{white-space:normal}.about-section .technical-scope{display:grid;width:100%;max-width:100%;padding:12px 14px 14px}.about-section .technical-scope-item p{overflow-wrap:anywhere}}@media (max-width:600px){.about-section .profile-role-primary .role-secondary-track{display:flex;flex-wrap:wrap;row-gap:0}.about-section .profile-role-primary .role-secondary-track>.role-divider{display:none}.about-section .profile-role-primary .role-secondary-track>span:last-child{flex-basis:100%}}@media (max-width:500px){.about-section .profile-avatar-button{position:static;align-self:center;margin-bottom:10px}.about-section .profile-name,.about-section .profile-role,.about-section .profile-role-primary,.about-section .profile-title-block{text-align:center}.about-section .profile-role-primary{justify-content:center}.about-section .profile-role-primary .role-secondary-track{display:flex;flex-direction:column;align-items:center;row-gap:0;margin-top:4px;padding-top:0;padding-bottom:0;background:none}.about-section .profile-role-primary .role-secondary-track>.role-divider{display:none}.about-section .profile-role-primary .role-secondary-track>span:last-child{flex-basis:auto}}@media print{body{background:#fff}.nav{display:none}.docs-shell{grid-template-columns:1fr;padding:0}.doc-content{box-shadow:none;border:none;padding:0}}