@font-face{font-family:__Fraunces_3a6cb3;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_3a6cb3;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_3a6cb3;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_3a6cb3;font-style:normal;font-weight:500;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_3a6cb3;font-style:normal;font-weight:500;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_3a6cb3;font-style:normal;font-weight:500;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_3a6cb3;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_3a6cb3;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_3a6cb3;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_Fallback_3a6cb3;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_3a6cb3{font-family:__Fraunces_3a6cb3,__Fraunces_Fallback_3a6cb3;font-style:normal}.__variable_3a6cb3{--font-display:"__Fraunces_3a6cb3","__Fraunces_Fallback_3a6cb3"}@font-face{font-family:__IBM_Plex_Sans_1bc20f;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_1bc20f;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_1bc20f;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_1bc20f;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_1bc20f;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_1bc20f;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_1bc20f;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_1bc20f;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_1bc20f;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_1bc20f;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_1bc20f;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_1bc20f;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_1bc20f;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_1bc20f;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_1bc20f;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_1bc20f;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_1bc20f;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_1bc20f;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_Fallback_1bc20f;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_1bc20f{font-family:__IBM_Plex_Sans_1bc20f,__IBM_Plex_Sans_Fallback_1bc20f;font-style:normal}.__variable_1bc20f{--font-body:"__IBM_Plex_Sans_1bc20f","__IBM_Plex_Sans_Fallback_1bc20f"}:root{--ink:#0e141b;--panel:#141c25;--panel-raised:#182230;--line:#2b3a49;--line-soft:#202c38;--paper:#e8edf3;--muted:#8798a8;--muted-dim:#5c6b7a;--signal:#e2a33d;--signal-soft:rgba(226,163,61,.14);--font-display:Georgia,serif;--font-body:-apple-system,BlinkMacSystemFont,sans-serif;--max-w:1080px}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit}img,svg{display:block;max-width:100%}.wrap{max-width:var(--max-w);margin:0 auto;padding:0 28px}.gridpaper{background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:42px 42px;background-position:-1px -1px}.panel{position:relative;border:1px solid var(--line);background:var(--panel);padding:26px 24px}.panel:after,.panel:before{content:"";position:absolute;width:9px;height:9px;border-color:var(--signal);border-style:solid;opacity:.85}.panel:before{top:-1px;left:-1px;border-width:1px 0 0 1px}.panel:after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(14,20,27,.86);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line-soft)}.site-header .wrap{justify-content:space-between;height:64px}.mark,.site-header .wrap{display:flex;align-items:center}.mark{font-family:var(--font-display);font-size:20px;letter-spacing:.02em;text-decoration:none;gap:8px}.mark span.dot{width:6px;height:6px;background:var(--signal);display:inline-block;border-radius:50%}.header-links{display:flex;gap:22px;font-size:14px}.header-links a{text-decoration:none;color:var(--muted);border-bottom:1px solid transparent;padding-bottom:2px;transition:color .15s ease,border-color .15s ease}.header-links a:hover{color:var(--paper);border-color:var(--signal)}@media (max-width:640px){.header-links{gap:14px}.header-links a:not(.always-show){display:none}}.hero{padding:76px 0 60px;border-bottom:1px solid var(--line-soft)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:44px;gap:44px;align-items:center}@media (max-width:880px){.hero-grid{grid-template-columns:1fr}}.status-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.28);border-radius:9999px;font-size:13px;color:#4ade80;margin-bottom:18px;font-weight:500;width:-moz-fit-content;width:fit-content}.status-dot-pulse{position:relative;width:8px;height:8px;border-radius:50%;background-color:#22c55e}.status-dot-pulse:after{content:"";position:absolute;top:-2px;left:-2px;width:12px;height:12px;border-radius:50%;border:2px solid #22c55e;animation:status-ping 2s cubic-bezier(0,0,.2,1) infinite}@keyframes status-ping{75%,to{transform:scale(2.2);opacity:0}}.eyebrow-line{color:var(--signal);font-size:14px;margin:0 0 14px;font-weight:500;letter-spacing:.02em}.hero h1{font-family:var(--font-display);font-weight:500;font-size:clamp(2.5rem,5vw,3.6rem);line-height:1.06;margin:0 0 18px;color:var(--paper);max-width:14ch}.hero p.tagline{color:var(--muted);font-size:17px;max-width:48ch;margin:0 0 28px;line-height:1.6}.hero-meta{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:13.5px;color:var(--muted-dim);margin-bottom:28px}.hero-meta span{white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.cta-row{display:flex;gap:12px;flex-wrap:wrap}.btn,.cta-row{align-items:center}.btn{display:inline-flex;gap:8px;padding:10px 18px;font-size:14px;font-weight:500;text-decoration:none;border:1px solid var(--line);cursor:pointer;background:transparent;transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--signal);border-color:var(--signal);color:#191207}.btn-primary:hover{background:#eeb257}.btn-accent{background:var(--panel-raised);border-color:var(--signal);color:var(--signal)}.btn-accent:hover{background:var(--signal-soft);color:#fff}.metrics-strip{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-top:48px;padding-top:36px;border-top:1px solid var(--line-soft)}@media (max-width:820px){.metrics-strip{grid-template-columns:repeat(2,1fr)}}@media (max-width:460px){.metrics-strip{grid-template-columns:1fr}}.metric-card{background:var(--panel);border:1px solid var(--line);padding:20px 18px;border-radius:4px;transition:transform .2s ease,border-color .2s ease}.metric-card:hover{transform:translateY(-2px);border-color:var(--signal)}.metric-val{font-family:var(--font-display);font-size:2.1rem;font-weight:600;color:var(--signal);line-height:1;margin-bottom:6px}.metric-label{font-size:13.5px;font-weight:600;color:var(--paper);margin-bottom:2px}.metric-desc{font-size:12px;color:var(--muted-dim);line-height:1.4}.btn-ghost{color:var(--paper)}.btn-ghost:hover{border-color:var(--signal);color:var(--signal)}.diagram-wrap{display:flex;flex-direction:column;align-items:center;gap:16px}.diagram-svg{width:100%;max-width:460px;height:auto}.node-group{cursor:pointer;transition:transform .2s ease}.node-group.is-active,.node-group:hover{transform:scale(1.04);transform-origin:center}.node-core{fill:var(--panel-raised);stroke:var(--signal);stroke-width:1.4;filter:drop-shadow(0 0 12px rgba(226,163,61,.25))}.node-satellite{fill:var(--panel);stroke:var(--line);stroke-width:1.4;transition:fill .2s ease,stroke .2s ease,r .2s ease}.node-group.is-active .node-satellite,.node-group:hover .node-satellite{fill:var(--signal);stroke:#fff;r:9;filter:drop-shadow(0 0 8px rgba(226,163,61,.8))}.node-link{stroke:var(--line);stroke-width:1;transition:stroke .2s ease,stroke-width .2s ease,opacity .2s ease}.node-link.is-active{stroke:var(--signal);stroke-width:2.2;opacity:1;filter:drop-shadow(0 0 4px rgba(226,163,61,.7))}.node-label{fill:var(--muted);font-family:var(--font-body);font-size:12.5px;transition:fill .2s ease,font-weight .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.node-group.is-active .node-label,.node-group:hover .node-label{fill:var(--paper);font-weight:600}.node-core-label{fill:var(--paper);font-family:var(--font-display);font-size:15px}.diagram-svg .node-link{stroke-dasharray:220;stroke-dashoffset:220;animation:draw-line 1.1s ease forwards}.diagram-svg .node-satellite{opacity:0;animation:fade-in .5s ease forwards}@keyframes draw-line{to{stroke-dashoffset:0}}@keyframes fade-in{to{opacity:1}}.hub-inspector{width:100%;max-width:460px;background:var(--panel);border:1px solid var(--line);padding:14px 18px;border-radius:4px;transition:all .2s ease;position:relative}.hub-inspector.has-active{border-color:var(--signal);box-shadow:0 0 20px rgba(226,163,61,.12)}.inspector-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.inspector-title{font-size:13.5px;font-weight:600;color:var(--signal)}.inspector-badge{font-size:11px;background:var(--panel-raised);border:1px solid var(--line);color:var(--muted);padding:2px 7px;border-radius:3px}.inspector-desc{font-size:12.5px;color:var(--paper);margin:0 0 6px;line-height:1.45}.inspector-metric{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:6px}.inspector-metric span.tag{color:#4ade80;font-weight:500}.section{padding:64px 0;border-bottom:1px solid var(--line-soft)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:30px}.section-head h2{font-family:var(--font-display);font-weight:500;font-size:1.7rem;margin:0;color:var(--paper)}.section-index{color:var(--muted-dim);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.summary p{max-width:68ch;color:var(--muted);font-size:17px}.summary p strong{color:var(--paper);font-weight:500}.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line)}@media (max-width:780px){.cap-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.cap-grid{grid-template-columns:1fr}}.cap-cell{background:var(--panel);padding:22px 20px}.cap-cell h3{font-size:14px;font-weight:600;margin:0 0 12px;color:var(--signal)}.cap-cell ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 8px}.cap-cell li{font-size:13.5px;color:var(--muted);border:1px solid var(--line);padding:4px 9px}.integrations-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}@media (max-width:980px){.integrations-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:680px){.integrations-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:440px){.integrations-grid{grid-template-columns:1fr}}.integration-card{background:var(--panel);border:1px solid var(--line);padding:13px 15px;border-radius:6px;display:flex;align-items:center;gap:12px;transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .2s ease,box-shadow .2s ease,background .2s ease;cursor:default}.integration-card:hover{transform:translateY(-2px);border-color:var(--brand-color,var(--signal));background:var(--panel-raised);box-shadow:0 6px 20px rgba(0,0,0,.45)}.integration-icon-wrap{width:40px;height:40px;border-radius:8px;background:rgba(14,20,27,.95);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.integration-card:hover .integration-icon-wrap{transform:scale(1.06);border-color:var(--brand-color,var(--signal));box-shadow:0 0 12px hsla(0,0%,100%,.08)}.integration-card svg{width:26px;height:26px;display:block}.integration-info{display:flex;flex-direction:column;min-width:0}.integration-name{font-size:13.5px;font-weight:600;color:var(--paper);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease}.integration-card:hover .integration-name{color:#fff}.integration-category{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.integrations-arch-panel{margin-top:24px;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:22px 24px;position:relative;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.integrations-arch-panel:hover{border-color:rgba(226,163,61,.4);box-shadow:0 8px 24px rgba(0,0,0,.35)}.integrations-arch-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line-soft)}.arch-badge{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--signal)}.arch-sub{font-size:12px;color:var(--muted-dim)}.integrations-arch-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}@media (max-width:860px){.integrations-arch-grid{grid-template-columns:1fr;gap:16px}}.integrations-arch-col{display:flex;flex-direction:column;gap:8px}.arch-col-title{display:flex;align-items:center;gap:8px}.arch-icon{font-size:16px}.arch-col-title h4{font-size:14px;font-weight:600;color:var(--paper);margin:0}.integrations-arch-col p{font-size:13px;color:var(--muted);line-height:1.5;margin:0}.arch-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.arch-tags span{font-size:11px;color:var(--signal);background:var(--signal-soft);border:1px solid rgba(226,163,61,.25);padding:2px 7px;border-radius:3px;font-weight:500}.timeline{padding-left:26px;border-left:1px solid var(--line)}.role,.timeline{position:relative}.role{padding-bottom:46px}.role:last-child{padding-bottom:0}.role:before{content:"";position:absolute;left:-31px;top:4px;width:9px;height:9px;background:var(--ink);border:1.5px solid var(--signal)}.role-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-bottom:4px}.role-title{font-family:var(--font-display);font-size:1.2rem;color:var(--paper);margin:0}.role-period{font-size:13.5px;color:var(--muted-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.role-company{color:var(--muted);font-size:14.5px;margin:0 0 20px}.project{margin-bottom:20px}.project:last-child{margin-bottom:0}.project-title{font-size:15px;font-weight:600;color:var(--paper);margin:0 0 4px}.project-stack{font-size:12.5px;color:var(--signal);margin:0 0 8px}.project ul{margin:0;padding-left:18px;color:var(--muted);font-size:14.5px}.project li{margin-bottom:6px}.project li:last-child{margin-bottom:0}.edu-panel{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;align-items:baseline}.edu-degree{font-family:var(--font-display);font-size:1.15rem;color:var(--paper);margin:0 0 4px}.edu-school{color:var(--muted);font-size:14.5px;margin:0}.edu-years{color:var(--muted-dim);font-size:13.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.site-footer{padding:54px 0 60px}.footer-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px}.footer-lead h2{font-family:var(--font-display);font-weight:500;font-size:1.9rem;margin:0 0 10px;max-width:14ch}.footer-lead p{color:var(--muted);max-width:42ch;margin:0 0 22px}.footer-contacts{display:flex;flex-direction:column;gap:10px;font-size:14.5px}.footer-contacts a{text-decoration:none;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:2px;width:-moz-fit-content;width:fit-content;transition:color .15s ease,border-color .15s ease}.footer-contacts a:hover{color:var(--signal);border-color:var(--signal)}.footer-note{margin-top:40px;color:var(--muted-dim);font-size:13px}a:focus-visible,button:focus-visible{outline:2px solid var(--signal);outline-offset:3px}.case-grid{display:flex;flex-direction:column;gap:32px}.case-card{background:var(--panel);border:1px solid var(--line);padding:30px;position:relative;border-radius:4px;transition:border-color .2s ease,box-shadow .2s ease}.case-card:hover{border-color:var(--signal);box-shadow:0 10px 32px rgba(0,0,0,.45)}.case-card-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:14px}.case-badges{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.case-badge{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;padding:3px 9px;border-radius:4px;font-weight:600}.badge-domain{background:var(--signal-soft);color:var(--signal);border:1px solid rgba(226,163,61,.35)}.badge-role{background:var(--panel-raised);color:var(--paper);border:1px solid var(--line)}.case-title{font-family:var(--font-display);font-size:1.5rem;color:var(--paper);margin:0 0 10px;line-height:1.2}.case-summary{font-size:15px;color:var(--muted);line-height:1.6;margin-bottom:22px}.case-columns{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-bottom:22px}@media (max-width:740px){.case-columns{grid-template-columns:1fr}}.case-col{background:var(--panel-raised);border:1px solid var(--line-soft);padding:16px 18px;border-radius:4px}.case-col h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--signal);margin:0 0 8px}.case-col p,.case-col ul{font-size:13.5px;color:var(--muted);margin:0;line-height:1.5}.case-col ul{padding-left:18px}.case-metrics-bar{display:flex;flex-wrap:wrap;gap:16px 28px;padding:14px 20px;background:rgba(226,163,61,.05);border:1px dashed rgba(226,163,61,.3);border-radius:4px;margin-bottom:22px}.case-metric-item{display:flex;flex-direction:column}.case-metric-num{font-family:var(--font-display);font-size:1.35rem;color:var(--signal);font-weight:600;line-height:1.1}.case-metric-lbl{font-size:12px;color:var(--muted)}.case-media-placeholder{border:1px dashed var(--line);background:rgba(14,20,27,.6);border-radius:4px;padding:24px;text-align:center;color:var(--muted-dim);font-size:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.case-media-placeholder .icon{font-size:24px;color:var(--signal);opacity:.7}.project-gallery{display:flex;flex-direction:column;gap:14px;background:var(--panel-raised);border:1px solid var(--line);border-radius:6px;padding:18px;margin-top:10px}.gallery-nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.gallery-tab{background:var(--panel);border:1px solid var(--line);color:var(--muted);font-size:12.5px;padding:6px 12px;border-radius:4px;cursor:pointer;transition:all .15s ease;font-family:inherit}.gallery-tab:hover{border-color:var(--signal);color:var(--paper)}.gallery-tab.active{background:var(--signal-soft);border-color:var(--signal);color:var(--signal);font-weight:600}.gallery-viewport{position:relative;background:#080c10;border:1px solid var(--line);border-radius:4px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.5)}.gallery-img{width:100%;height:auto;display:block;object-fit:contain;max-height:540px}.gallery-caption{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 16px;background:rgba(14,20,27,.95);border-top:1px solid var(--line);font-size:12.5px}.gallery-caption-title{color:var(--paper);font-weight:600;display:block;margin-bottom:2px}.gallery-caption-desc{color:var(--muted);font-size:12px;line-height:1.4}.gallery-expand-link{color:var(--signal);text-decoration:none;font-size:12px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.gallery-expand-link:hover{text-decoration:underline}.ai-fab{position:fixed;bottom:24px;right:24px;z-index:90;display:inline-flex;align-items:center;gap:10px;background:var(--panel-raised);border:1.5px solid var(--signal);color:var(--paper);padding:11px 18px;border-radius:9999px;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.6),0 0 18px rgba(226,163,61,.25);transition:transform .2s ease,background .2s ease,box-shadow .2s ease;font-family:var(--font-body)}.ai-fab:hover{transform:translateY(-2px);background:#1e2a3b;box-shadow:0 12px 28px rgba(0,0,0,.7),0 0 24px rgba(226,163,61,.35)}.ai-fab-spark{color:var(--signal);font-size:16px;display:flex}.ai-fab-label{font-size:13.5px;font-weight:600;letter-spacing:.01em}.ai-fab-indicator{width:7px;height:7px;border-radius:50%;background:#22c55e}.ai-drawer-backdrop{position:fixed;inset:0;background:rgba(10,14,20,.78);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;display:flex;justify-content:flex-end;animation:fade-in .2s ease}.ai-drawer{width:100%;max-width:480px;height:100%;background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;box-shadow:-12px 0 36px rgba(0,0,0,.7);animation:slide-in .25s cubic-bezier(.16,1,.3,1)}@keyframes slide-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}.ai-drawer-header{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:var(--panel-raised)}.ai-drawer-title{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:1.15rem;color:var(--paper)}.ai-drawer-subtitle{font-size:11.5px;color:var(--muted)}.ai-close-btn{background:transparent;border:1px solid var(--line);color:var(--muted);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:4px;transition:all .15s ease}.ai-close-btn:hover{border-color:var(--signal);color:var(--paper)}.ai-chat-body{flex:1 1;overflow-y:auto;padding:20px;gap:16px}.ai-chat-body,.ai-msg{display:flex;flex-direction:column}.ai-msg{max-width:88%}.ai-msg-user{align-self:flex-end}.ai-msg-assistant{align-self:flex-start}.ai-msg-sender{font-size:11px;color:var(--muted-dim);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.ai-msg-user .ai-msg-sender{text-align:right}.ai-bubble{padding:12px 16px;font-size:13.5px;line-height:1.55;border-radius:4px}.ai-msg-user .ai-bubble{background:var(--signal);color:#141c25;font-weight:500}.ai-msg-assistant .ai-bubble{background:var(--panel-raised);border:1px solid var(--line);color:var(--paper)}.ai-bubble p{margin:0 0 8px}.ai-bubble p:last-child{margin:0}.ai-bubble ul{margin:0;padding-left:18px}.ai-chips-wrap{padding:12px 20px;border-top:1px solid var(--line-soft);background:rgba(14,20,27,.5);display:flex;flex-wrap:wrap;gap:8px}.ai-chips-label{width:100%;font-size:11px;color:var(--muted-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.ai-chip{background:var(--panel-raised);border:1px solid var(--line);color:var(--muted);font-size:12px;padding:5px 11px;border-radius:9999px;cursor:pointer;transition:all .15s ease}.ai-chip:hover{border-color:var(--signal);color:var(--paper);background:var(--panel)}.ai-input-wrap{padding:14px 20px;border-top:1px solid var(--line);display:flex;gap:10px;background:var(--panel)}.ai-input{flex:1 1;background:var(--ink);border:1px solid var(--line);color:var(--paper);padding:10px 14px;font-size:13.5px;border-radius:4px;outline:none}.ai-input:focus{border-color:var(--signal)}.ai-send-btn{background:var(--signal);border:1px solid var(--signal);color:#141c25;font-weight:600;padding:0 16px;border-radius:4px;cursor:pointer;transition:background .15s ease}.ai-send-btn:hover{background:#eeb257}@media print{body{background:#fff!important;color:#111!important;font-size:12pt}.ai-drawer-backdrop,.ai-fab,.case-media-placeholder,.cta-row,.diagram-wrap,.hub-inspector,.site-footer,.site-header{display:none!important}.wrap{max-width:100%!important;padding:0!important}.section{padding:20px 0!important;border-bottom:1px solid #ddd!important}.cap-cell,.case-card,.metric-card,.panel{background:transparent!important;border:1px solid #ccc!important;box-shadow:none!important;color:#111!important}.case-title,.hero h1,.role-title{color:#000!important}.case-badge,.eyebrow-line,.metric-val{color:#000!important;border-color:#000!important}}