@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(../media/13ae3e01af63c0ce-s.35p9_4tnsm_o4.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0ee4b8f05dcd9fee-s.1q0qwmqzyniyk.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9eba4caf7edd2921-s.02gir8avbbwr_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f6752bd2263820da-s.3hqxvms4e79hg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f285987c35230861-s.1xbprfp_s2_ea.woff2)format("woff2");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:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b8d1f0a88dfecec3-s.1e3bxj0ebt1gg.woff2)format("woff2");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:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ab57efd000576a30-s.p.3fofz6dws3mg0.woff2)format("woff2");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:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(../media/13ae3e01af63c0ce-s.35p9_4tnsm_o4.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0ee4b8f05dcd9fee-s.1q0qwmqzyniyk.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9eba4caf7edd2921-s.02gir8avbbwr_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(../media/f6752bd2263820da-s.3hqxvms4e79hg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(../media/f285987c35230861-s.1xbprfp_s2_ea.woff2)format("woff2");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:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b8d1f0a88dfecec3-s.1e3bxj0ebt1gg.woff2)format("woff2");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:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ab57efd000576a30-s.p.3fofz6dws3mg0.woff2)format("woff2");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:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(../media/13ae3e01af63c0ce-s.35p9_4tnsm_o4.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0ee4b8f05dcd9fee-s.1q0qwmqzyniyk.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9eba4caf7edd2921-s.02gir8avbbwr_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(../media/f6752bd2263820da-s.3hqxvms4e79hg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(../media/f285987c35230861-s.1xbprfp_s2_ea.woff2)format("woff2");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:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b8d1f0a88dfecec3-s.1e3bxj0ebt1gg.woff2)format("woff2");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:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ab57efd000576a30-s.p.3fofz6dws3mg0.woff2)format("woff2");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:Inter Tight;font-style:normal;font-weight:700;font-display:swap;src:url(../media/13ae3e01af63c0ce-s.35p9_4tnsm_o4.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0ee4b8f05dcd9fee-s.1q0qwmqzyniyk.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9eba4caf7edd2921-s.02gir8avbbwr_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter Tight;font-style:normal;font-weight:700;font-display:swap;src:url(../media/f6752bd2263820da-s.3hqxvms4e79hg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight;font-style:normal;font-weight:700;font-display:swap;src:url(../media/f285987c35230861-s.1xbprfp_s2_ea.woff2)format("woff2");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:Inter Tight;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b8d1f0a88dfecec3-s.1e3bxj0ebt1gg.woff2)format("woff2");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:Inter Tight;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ab57efd000576a30-s.p.3fofz6dws3mg0.woff2)format("woff2");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:Inter Tight Fallback;src:local(Arial);ascent-override:100.51%;descent-override:25.03%;line-gap-override:0.0%;size-adjust:96.39%}.inter_tight_5229d065-module__q6iYVW__className{font-family:Inter Tight,Inter Tight Fallback;font-style:normal}.inter_tight_5229d065-module__q6iYVW__variable{--font-inter-tight:"Inter Tight", "Inter Tight Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2)format("woff2");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 Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_c7d8cc32-module__U1BAtG__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_c7d8cc32-module__U1BAtG__variable{--font-ibm-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--bg:#0a1120;--surface:#111c31;--surface-sunken:#0e1626;--surface-media:#0d1728;--surface-frame:#101a2e;--text:#eaf0fa;--text-strong:#f6f9ff;--text-quote:#eaf0fad9;--text-body:#eaf0fac7;--text-muted:#eaf0faad;--text-dim:#eaf0fa9e;--text-dimmer:#eaf0fa94;--text-faint:#eaf0fa8c;--text-fainter:#eaf0fa73;--text-ghost:#eaf0fa66;--text-whisper:#eaf0fa52;--accent:#2f6bff;--accent-hover:#1f57e0;--accent-soft:#7fa8ff;--accent-softer:#a8c4ff;--hairline:#ffffff14;--card-line:#ffffff17;--frame-line:#ffffff1a;--button-line:#ffffff2e;--accent-line:#7fa8ff52;--accent-line-hover:#7fa8ff66;--accent-line-strong:#7fa8ff99;--hover-wash:#ffffff0f;--shadow-pill:0 6px 18px #2f6bff52;--shadow-button:0 10px 28px #2f6bff57;--measure:1120px;--gutter:32px;--header-height:62px;--font-sans:var(--font-inter-tight), system-ui, sans-serif;--font-mono:var(--font-ibm-plex-mono), ui-monospace, monospace}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--accent-soft);text-decoration:none}a:hover{color:var(--accent-softer)}::selection{background:#2f6bff59}img{max-width:100%}:focus-visible{outline:2px solid var(--accent-soft);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.container{width:100%;max-width:var(--measure);padding-inline:var(--gutter);margin:0 auto}.section{scroll-margin-top:calc(var(--header-height) + 12px)}.section-body{padding-block:80px}.section-body--flush-bottom{padding-bottom:0}.eyebrow{font:500 11px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-soft);margin:0}.section-title{font:600 34px/1.05 var(--font-sans);letter-spacing:-.03em;color:var(--text);margin:14px 0 30px}.skip-link{z-index:100;background:var(--accent);color:#fff;font:600 13px/1 var(--font-sans);border-radius:0 0 9px;padding:12px 18px;position:absolute;top:0;left:-9999px}.skip-link:focus{color:#fff;left:0}.site-header{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--hairline);background:#0a1120d1;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:24px;padding-block:14px;display:flex}.site-header__brand{font:700 15px/1 var(--font-sans);letter-spacing:-.02em;color:var(--text-strong);flex:none}.site-nav{font:500 13px/1 var(--font-sans);align-items:center;gap:6px;display:flex}.site-nav__link{color:var(--text-dim);white-space:nowrap;border-radius:8px;padding:9px 12px}.site-nav__link:hover{color:var(--text);background:var(--hover-wash)}.site-nav__cta{background:var(--accent);color:#fff;box-shadow:var(--shadow-pill);white-space:nowrap;border-radius:100px;margin-left:6px;padding:10px 16px}.site-nav__cta:hover{background:var(--accent-hover);color:#fff}.hero{border-bottom:1px solid var(--hairline);background:radial-gradient(880px 360px at 22% -10%,#2f6bff3d,#0000 72%)}.hero__inner{grid-template-columns:1.32fr .68fr;align-items:center;gap:56px;min-height:520px;display:grid}.hero__copy{padding-block:84px}.hero__name{font:600 clamp(38px, 5.2vw, 60px) / 1.04 var(--font-sans);letter-spacing:-.035em;color:var(--text-strong);margin:0}.hero__role{font:500 21px/1.3 var(--font-sans);color:var(--accent-soft);margin:16px 0 0}.hero__tagline{max-width:560px;font:400 18px/1.6 var(--font-sans);color:var(--text-muted);text-wrap:pretty;margin:20px 0 0}.hero__links{font:600 13px/1 var(--font-sans);flex-wrap:wrap;gap:10px;margin-top:34px;display:flex}.button{border:1px solid var(--button-line);color:var(--text);border-radius:9px;padding:14px 22px}.button:hover{background:var(--hover-wash);color:#fff}.button--primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-button);border-color:#0000}.button--primary:hover{background:var(--accent-hover);color:#fff}.hero__portrait{border:1px solid var(--frame-line);background:var(--surface-frame);border-radius:14px;height:340px;position:relative;overflow:hidden}.hero__portrait img{object-fit:cover}.creds{border-bottom:1px solid var(--hairline)}.creds__highlights{grid-template-columns:1.05fr 1fr;gap:18px;margin:30px 0 18px;display:grid}.highlight-card{background:var(--surface);border:1px solid var(--card-line);color:var(--text);border-radius:14px;flex-direction:column;justify-content:space-between;gap:24px;padding:28px;display:flex}.highlight-card:hover{border-color:var(--accent-line-hover);color:#fff}.highlight-card__eyebrow{font:500 11px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-soft)}.highlight-card__title{font:600 26px/1.15 var(--font-sans);letter-spacing:-.03em}.highlight-card--featured{border-color:var(--accent-line);color:#fff;background:linear-gradient(140deg,#2f6bff3d,#2f6bff0d)}.highlight-card--featured:hover{border-color:var(--accent-line-strong);color:#fff}.highlight-card--featured .highlight-card__eyebrow{color:var(--accent-softer)}.highlight-card--featured .highlight-card__title{letter-spacing:-.035em;font-size:34px;line-height:1.08}.creds__certs{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;display:grid}.cert-card{background:var(--surface);border:1px solid var(--card-line);color:var(--text);border-radius:12px;padding:20px;display:block}.cert-card:hover{border-color:var(--accent-line-hover);color:#fff}.cert-card__kind{font:500 10.5px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-ghost);display:block}.cert-card__title{font:600 16px/1.3 var(--font-sans);margin-top:10px;display:block}.projects__featured{grid-template-columns:1fr 1fr;gap:22px;display:grid}.projects__subtitle{margin:56px 0 22px}.projects__grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.project-card{background:var(--surface);border:1px solid var(--card-line);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.project-card:hover{border-color:var(--accent-line-hover)}.project-card__media{background:linear-gradient(140deg,#2f6bff24,#2f6bff05);height:150px;display:block;position:relative}.project-card__media img{object-fit:cover}.project-card__body{flex-direction:column;gap:9px;padding:20px 22px 22px;display:flex}.project-card__role{font:500 10.5px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-soft);margin:0}.project-card__title{font:600 17px/1.25 var(--font-sans);letter-spacing:-.02em;margin:0}.project-card__title a{color:var(--text)}.project-card__title a:hover{color:#fff}.project-card__desc{font:400 13.5px/1.6 var(--font-sans);color:var(--text-dimmer);text-wrap:pretty;margin:0}.project-card--featured{border-radius:14px}.project-card--featured .project-card__media{background:linear-gradient(140deg,#2f6bff2e,#2f6bff08);height:210px}.project-card--featured .project-card__media img{background:var(--surface-media)}.project-card--featured .project-card__body{gap:10px;padding:22px 24px 24px}.project-card--featured .project-card__title{letter-spacing:-.025em;font-size:21px;line-height:1.2}.project-card--featured .project-card__desc{color:var(--text-dim);font-size:14.5px;line-height:1.62}.project-card__placeholder{text-align:center;height:100%;font:500 11px/1.4 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-fainter);justify-content:center;align-items:center;padding:0 16px;display:flex}.projects__toggle-row{margin-top:24px}.toggle-button{border:1px solid var(--button-line);color:var(--text);font:600 13px/1 var(--font-sans);cursor:pointer;background:0 0;border-radius:9px;padding:13px 22px}.toggle-button:hover{background:var(--hover-wash);border-color:#7fa8ff73}.reviews{background:var(--surface-sunken);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);margin-top:80px}.reviews__grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.review-card{background:var(--surface);border:1px solid var(--card-line);border-radius:14px;flex-direction:column;gap:14px;margin:0;padding:24px;display:flex}.review-card__logo{object-fit:contain;align-self:flex-start;width:auto;height:24px}.review-card__quote{font:400 italic 15px/1.65 var(--font-sans);color:var(--text-quote);text-wrap:pretty;margin:0}.tools__grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.tool-card{background:var(--surface);border:1px solid var(--card-line);border-radius:12px;padding:22px}.tool-card p{font:400 14.5px/1.6 var(--font-sans);color:var(--text-body);margin:0}.site-footer{background:var(--surface-sunken);border-top:1px solid var(--hairline)}.site-footer__inner{font:500 13px/1 var(--font-sans);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:40px;display:flex}.site-footer__links{flex-wrap:wrap;gap:22px;display:flex}.site-footer__links a{color:var(--text-faint)}.site-footer__links a:hover{color:var(--text)}.site-footer__copyright{color:var(--text-whisper)}@media (max-width:900px){.hero__inner{grid-template-columns:1fr;gap:36px;min-height:0}.hero__copy{padding:64px 0 0}.hero__portrait{height:300px;margin-bottom:64px}.creds__highlights,.projects__featured{grid-template-columns:1fr}.highlight-card--featured .highlight-card__title{font-size:30px}}@media (max-width:720px){:root{--gutter:20px}.site-header__inner{flex-wrap:wrap;gap:10px;padding-block:12px}.site-nav{scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);flex:100%;overflow-x:auto}.site-nav::-webkit-scrollbar{display:none}.section-body{padding-block:56px}.reviews{margin-top:56px}.section-title,.projects__subtitle{font-size:28px}.projects__subtitle{margin-top:44px}.reviews__grid,.projects__grid,.tools__grid{grid-template-columns:1fr}}
