@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-400-normal.C38fXH4l.woff2)format("woff2"),url(/_astro/inter-latin-400-normal.CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-latin-500-normal.Cerq10X2.woff2)format("woff2"),url(/_astro/inter-latin-500-normal.BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-latin-600-normal.LgqL8muc.woff2)format("woff2"),url(/_astro/inter-latin-600-normal.CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-latin-700-normal.Yt3aPRUw.woff2)format("woff2"),url(/_astro/inter-latin-700-normal.BLAVimhd.woff)format("woff")}@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")}@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure{margin:0}img,svg{max-width:100%;display:block}button,input,summary{font:inherit}a{color:inherit;text-decoration:none}ul,ol{margin:0;padding:0}}@layer base{:root{--canvas:#f8f7f3;--surface:#fff;--ink:#171b20;--muted:#4f5962;--line:#cdd2d4;--accent:#2447c6;--accent-wash:#e8edff;--mono:"IBM Plex Mono", ui-monospace, monospace;--gutter:48px}html{scroll-behavior:smooth;scroll-padding-top:32px}body{background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.6}::selection{color:var(--ink);background:#dce4ff}:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:2px}h1,h2,h3,h4{letter-spacing:-.045em;text-wrap:balance;font-weight:500;line-height:1.1}h2{font-size:clamp(36px,4vw,52px)}p{text-wrap:pretty}[id]{scroll-margin-top:32px}.container{width:min(1200px, calc(100% - var(--gutter) * 2));margin-inline:auto}.accent{color:var(--accent)}.mono,.eyebrow{font-family:var(--mono);font-size:13px;font-weight:400}.eyebrow{color:var(--muted);letter-spacing:.055em}.section-space{padding-block:100px}.arrow{flex:none}.text-link{align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:500;display:inline-flex}.text-link:hover{color:var(--accent)}.text-link .arrow{width:18px;height:18px;transition:transform .18s}.text-link:hover .arrow{transform:translate(3px)}.button{border-radius:7px;justify-content:space-between;align-items:center;gap:28px;min-height:52px;padding:14px 20px;font-size:14px;font-weight:500;transition:background .18s,transform .18s;display:inline-flex}.button-primary{background:var(--accent);color:#fff}.button-primary:hover{background:#19379f;transform:translateY(-2px)}.button .arrow{width:19px;height:19px}.skip-link{z-index:20;top:12px;left:var(--gutter);background:var(--accent);color:#fff;padding:12px 20px;position:absolute;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.location-dot{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}[hidden]{display:none!important}}@layer components{.site-header{border-bottom:1px solid var(--line)}.header-inner{justify-content:space-between;align-items:center;min-height:80px;display:flex;position:relative}.brand{align-items:center;gap:16px;min-height:44px;display:inline-flex}.brand-mark{letter-spacing:-.09em;align-items:baseline;font-size:34px;font-weight:700;line-height:1;display:inline-flex}.brand-mark>span{color:var(--accent)}.brand-name{letter-spacing:-.02em;font-size:14px;font-weight:500}.desktop-nav{align-items:center;gap:clamp(16px,2.2vw,32px);display:flex}.desktop-nav a{align-items:center;gap:4px;min-height:44px;font-size:14px;display:flex}.desktop-nav a:hover{color:var(--accent)}:is(.desktop-nav,.mobile-nav) a[aria-current=page]{color:var(--accent);text-underline-offset:6px;text-decoration:underline}.desktop-nav .arrow{width:14px;height:14px}.mobile-nav{display:none}.mobile-nav summary{cursor:pointer;align-items:center;gap:12px;min-height:44px;font-size:14px;list-style:none;display:flex}.mobile-nav summary::-webkit-details-marker{display:none}.menu-icon{gap:5px;width:18px;display:grid}.menu-icon span{background:currentColor;width:100%;height:1px;transition:transform .15s}.mobile-nav[open] .menu-icon span:first-child{transform:translateY(3px)rotate(45deg)}.mobile-nav[open] .menu-icon span:last-child{transform:translateY(-3px)rotate(-45deg)}.mobile-nav nav{z-index:10;border:1px solid var(--line);background:var(--canvas);border-radius:8px;width:min(320px,100%);padding:12px;position:absolute;top:calc(100% - 4px);right:0;box-shadow:0 12px 24px #171b200c}.mobile-nav nav a{border-radius:4px;justify-content:space-between;align-items:center;min-height:52px;padding:8px 12px;font-size:15px;display:flex}.mobile-nav nav a:hover{background:var(--accent-wash)}.mobile-nav nav .arrow{width:18px}.hero{padding-top:clamp(32px,6svh,64px);padding-bottom:36px}.hero-eyebrow{align-items:center;gap:12px;display:flex}.eyebrow-divider{color:#8a9299;margin-inline:3px}.hero h1{letter-spacing:-.065em;margin-top:24px;font-size:clamp(44px,min(5.4vw,9svh),76px);font-weight:500;line-height:1.055}.hero h1>span{color:var(--accent);display:block}.hero-bottom{justify-content:space-between;align-items:flex-end;gap:32px;margin-top:28px;display:flex}.hero-bottom>p{min-width:0;max-width:560px;color:var(--muted);flex:1;font-size:16px;line-height:1.7}.hero-actions{flex-wrap:wrap;flex-shrink:1;align-items:center;gap:24px;display:flex}.proof-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proof-inner{grid-template-columns:repeat(3,1fr);display:grid}.proof-inner>:is(a,span){align-items:center;gap:13px;min-height:64px;padding:18px 22px;font-size:13px;display:flex}.proof-inner>:first-child{padding-left:0}.proof-inner>:last-child{padding-right:0}.proof-inner>:is(a,span)+:is(a,span){border-left:1px solid var(--line)}.proof-number{color:var(--accent);font-family:var(--mono);white-space:nowrap;font-size:11px}.proof-inner .arrow{width:15px;height:15px;margin-left:auto}.proof-inner a:hover{color:var(--accent)}.section-heading{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:32px;display:flex}.section-heading .eyebrow{margin-bottom:13px}.work-section{padding-top:64px}.section-note{color:var(--muted);font-size:14px;line-height:1.6}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 32px;display:grid}.work-group-links{flex-wrap:wrap;gap:12px;margin-block:28px 36px;display:flex}.work-group-links a{border:1px solid var(--line);background:var(--surface);border-radius:6px;align-items:center;gap:18px;min-height:44px;padding:10px 16px;font-size:13px;font-weight:500;display:inline-flex}.work-group-links a:hover{border-color:var(--accent);color:var(--accent)}.work-group-links span{color:var(--accent);font-family:var(--mono);font-size:11px}.work-group+.work-group{margin-top:72px}.work-group-heading{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 32px;margin-bottom:28px;padding-top:20px;display:flex}.work-group-heading h3{font-size:26px}.work-group-heading p{max-width:450px;color:var(--muted);font-size:14px;line-height:1.6}.analytics-cover{aspect-ratio:1.8;background:#edf0f7;border:1px solid #d8deed;border-radius:12px;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;padding:20px;display:grid;overflow:hidden}.analytics-cover-heading{font-family:var(--mono);color:#354566;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;font-size:10px;display:flex}.analytics-cover-heading span:last-child{color:var(--accent)}.analytics-cover img{object-fit:cover;object-position:top center;background:0 0;border-radius:5px;width:100%;height:100%;min-height:0;box-shadow:0 4px 16px #24345a0c}.analytics-cover-detail{font-family:var(--mono);color:#354566;font-size:10px}.analytics-cover-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.analytics-cover-footer a{min-height:44px;color:var(--accent);text-underline-offset:3px;align-items:center;font-size:12px;text-decoration:underline;display:inline-flex}.analytics-cover-large{aspect-ratio:auto;padding:28px}.analytics-cover-large img{object-fit:contain;height:auto;max-height:520px}.numpygrad-cover img,.rollover-cover img{object-fit:cover;object-position:top center;background:0 0;border:1px solid #d8deed}.numpygrad-cover.analytics-cover-large img,.rollover-cover.analytics-cover-large img{object-fit:contain}.shades-cover img{object-fit:cover;object-position:top center;background:#0f1422;border:1px solid #1a2235}.shades-cover.analytics-cover-large img{object-fit:contain}.analytics-capture img{background:#fff}.project-card{min-width:0}.project-card-body{border-bottom:1px solid var(--line);padding:25px 2px 14px}.project-category{color:var(--muted);font-family:var(--mono);justify-content:space-between;gap:16px;font-size:11px;display:flex}.project-category>span:last-child{color:var(--accent)}.project-card h4{margin-top:13px;font-size:30px}.project-card h4 a{justify-content:space-between;align-items:center;gap:20px;display:flex}.project-card h4 .arrow{width:23px;height:23px}.project-card h4 a:hover{color:var(--accent)}.project-kind{color:var(--accent);margin-top:8px;font-size:14px;font-weight:500;line-height:1.5}.project-summary{max-width:470px;min-height:52px;color:var(--muted);margin-top:7px;font-size:15px;line-height:1.65}.stack-list{flex-wrap:wrap;gap:9px;margin-top:15px;list-style:none;display:flex}.stack-list li{background:var(--accent-wash);font-family:var(--mono);color:var(--accent);border:1px solid #c7d2ff;border-radius:5px;padding:5px 10px;font-size:11px;font-weight:500}.project-action{margin-top:16px;font-size:13px}.project-pending{min-height:44px;color:var(--muted);align-items:center;display:flex}.project-cover{aspect-ratio:1.8;border-radius:12px;flex-direction:column;padding:23px 27px 19px;display:flex;position:relative;overflow:hidden}.cover-topline,.cover-bottomline{z-index:1;font-family:var(--mono);justify-content:space-between;align-items:center;gap:14px;font-size:9px;line-height:1.4;display:flex;position:relative}.cover-topline{border-bottom:1px solid;padding-bottom:12px}.cover-topline>span:last-child{opacity:.85;white-space:nowrap}.cover-bottomline{margin-top:auto}.cover-bottomline>span:last-child{font-size:15px}.cover-numpygrad{background:var(--accent);color:#f3f5ff}.cover-numpygrad .cover-topline{border-color:#ffffff35}.network-graphic{flex:1;width:100%;min-height:0;margin-block:0 9px;transition:transform .2s}.cover-shades-of-sg{color:#49375d;background:#e6e2f1}.cover-shades-of-sg .cover-topline{border-color:#49375d30}.shades-wordmark{z-index:1;letter-spacing:-.065em;margin-top:18px;font-size:clamp(40px,5vw,72px);font-weight:500;line-height:.88;position:relative}.shades-wordmark>span{margin-left:80px;font-style:italic;font-weight:400;display:block}.waveform{opacity:.23;justify-content:space-between;align-items:center;height:90px;display:flex;position:absolute;bottom:48px;left:27px;right:27px}.waveform span{height:var(--bar);background:#49375d;border-radius:4px;width:4px}.cover-rollover{color:#422b22;background:#ecd1b6}.cover-rollover .cover-topline{border-color:#422b2230}.rollover-wordmark{letter-spacing:-.085em;width:max-content;margin:auto;font-size:clamp(44px,5.8vw,86px);font-weight:700;line-height:.8;position:relative;transform:rotate(-6deg)}.rollover-wordmark>span{margin-top:8px;margin-left:54px;display:block}.rollover-wordmark svg{width:54px;position:absolute;top:0;right:-50px}.cover-sgen{color:#2f513c;background:#dce8de}.cover-sgen .cover-topline{border-color:#2f513c30}.sgen-graphic{flex:1;justify-content:center;align-items:center;display:flex;position:relative}.sgen-wordmark{letter-spacing:-.085em;font-size:clamp(55px,6.8vw,100px);font-weight:600}.sgen-wordmark>span{margin-left:12px;font-size:.65em;font-weight:400;display:inline-block}.speech-bubble{background:#eaf1eb;border:1px solid #2f513c60;border-radius:8px 8px 8px 0;align-items:center;gap:15px;padding:9px 14px;font-size:18px;line-height:1;display:flex;position:absolute}.speech-bubble>span{font-family:var(--mono);font-size:8px}.speech-one{top:19px;left:5%;transform:rotate(-7deg)}.speech-two{bottom:11px;right:4%;transform:rotate(5deg)}.cover-large{aspect-ratio:2.85;padding:28px 40px}.cover-large .cover-topline,.cover-large .cover-bottomline{font-size:11px}.cover-large .network-graphic{align-self:center;max-width:820px}.about-section{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:80px;display:grid}.about-heading .eyebrow{margin-bottom:20px}.about-heading h2{font-size:clamp(34px,4vw,50px)}.about-location{color:var(--muted);font-family:var(--mono);align-items:center;gap:9px;margin-top:28px;font-size:12px;display:flex}.about-copy{padding-top:1px}.about-copy>p{color:var(--muted);font-size:15px;line-height:1.8}.about-copy>p+p{margin-top:18px}.about-copy>.about-intro{color:var(--ink);letter-spacing:-.035em;font-size:23px;line-height:1.5}.about-copy>.text-link{margin-top:14px}.about-focus{border-top:1px solid var(--line);align-items:flex-start;gap:30px;margin-top:24px;padding-top:24px;display:flex}.about-focus>span{color:var(--muted);flex-shrink:0;padding-top:3px;font-size:10px}.about-focus ul{font-size:12px;line-height:2;list-style:none}.site-footer{color:#f8f7f3;background:#171e2c;padding-top:72px}.site-footer .eyebrow{color:#c3cad6}.contact-top{justify-content:space-between;align-items:flex-end;gap:60px;padding-bottom:70px;display:flex}.contact-top h2{margin-top:18px;font-size:clamp(42px,4.6vw,64px)}.contact-links{min-width:320px}.contact-links>p{color:#c3cad6;font-size:14px;line-height:1.75}.email-link{letter-spacing:-.03em;border-bottom:1px solid #697385;align-items:center;gap:34px;padding-block:13px 9px;font-size:27px;display:inline-flex}.email-link .arrow{width:24px;height:24px}.email-link:hover{color:#b3c4ff}.contact-address{font-family:var(--mono);color:#c3cad6;overflow-wrap:anywhere;margin-top:14px;font-size:11px;display:block}.footer-bottom{color:#c3cad6;border-top:1px solid #394252;justify-content:space-between;align-items:center;gap:24px;min-height:83px;font-size:11px;display:flex}.footer-bottom>div{align-items:center;gap:28px;display:flex}.footer-bottom a{align-items:center;gap:5px;min-height:44px;display:inline-flex}.footer-bottom a:hover{color:#fff}.footer-bottom .arrow{width:13px;height:13px}.site-footer :focus-visible{outline-color:#b3c4ff}.case-header{padding-top:44px;padding-bottom:42px}.back-link{color:var(--muted);font-size:12px}.back-link:hover .arrow{transform:translate(-3px)}.case-header>.eyebrow{margin-top:49px}.case-header h1{letter-spacing:-.065em;margin-top:20px;font-size:clamp(54px,7.2vw,100px);font-weight:500}.case-deck{letter-spacing:-.045em;margin-top:14px;font-size:clamp(23px,3vw,36px);line-height:1.3}.case-intro{max-width:640px;color:var(--muted);margin-top:22px;font-size:16px;line-height:1.75}.case-metadata{border-top:1px solid var(--line);grid-template-columns:1.15fr .9fr 1.6fr auto;align-items:center;gap:32px;margin-top:38px;padding-top:22px;display:grid}.case-metadata>div{gap:6px;display:grid}.case-metadata .mono{color:var(--muted);font-size:10px}.case-metadata strong{font-size:12px;font-weight:500}.case-metadata>div:nth-child(3) strong{color:var(--accent);font-size:13px;font-weight:600}.case-metadata .text-link{font-size:12px}.case-body{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:70px;padding-block:80px 90px;display:grid}.case-contents{position:sticky;top:32px}.case-contents .eyebrow{font-size:11px}.case-contents ol{margin-top:18px;list-style:none}.case-contents li+li{margin-top:3px}.case-contents li a{color:var(--muted);align-items:baseline;gap:12px;padding-block:9px;font-size:12px;display:flex}.case-contents li a:hover{color:var(--accent)}.case-contents li .mono{color:var(--accent);font-size:9px}.contents-source{border-top:1px solid var(--line);margin-top:22px;padding-top:17px;font-size:11px}.contents-source .arrow{width:14px;height:14px}.prose{min-width:0;max-width:760px;color:var(--muted);font-size:16px;line-height:1.85}.prose h2{color:var(--ink);letter-spacing:-.04em;margin-block:58px 22px;font-size:31px}.prose>h2:first-child{margin-top:0}.prose h3{color:var(--ink);letter-spacing:-.03em;margin-block:30px 14px;font-size:20px}.prose p+p{margin-top:19px}.prose strong{color:var(--ink);font-weight:600}.prose a{color:var(--accent);text-underline-offset:4px;overflow-wrap:anywhere;text-decoration:underline #2447c64d}.prose a:hover{text-decoration-color:currentColor}.prose :not(pre)>code{font-family:var(--mono);color:#343c49;overflow-wrap:anywhere;background:#e9e9e5;border-radius:3px;padding:2px 5px;font-size:.8em}.prose pre{border:1px solid var(--line);max-width:100%;font-family:var(--mono);border-radius:8px;margin-block:24px;padding:22px 24px;font-size:11px;line-height:1.9;overflow-x:auto}.prose pre code{font-family:inherit}.srm-study-table{margin-block:24px}.srm-study-table table{border-collapse:collapse;width:100%;font-size:.9em;line-height:1.65}.srm-study-table th,.srm-study-table td{border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere;padding:12px}.srm-study-table th{color:var(--ink);text-align:left;background:#eeeee9;font-weight:600}.srm-study-table [align=right]{text-align:right}.prose ul{margin-block:20px;padding-left:22px}.prose li{padding-left:5px}.prose li+li{margin-top:15px}.architecture-figure{border:1px solid var(--line);background:#fff;border-radius:10px;margin-block:28px;padding:25px}.diagram-label{justify-content:space-between;align-items:center;gap:15px;display:flex}.diagram-label .eyebrow{font-size:10px}.diagram-label code{background:0 0!important;padding:0!important;font-size:8px!important}.architecture-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:28px;list-style:none;display:grid}.architecture-steps li{padding:0;position:relative}.architecture-steps li+li{margin:0}.step-number{font-family:var(--mono);color:var(--accent);font-size:10px;display:block}.architecture-steps strong{margin-top:5px;font-size:12px;line-height:1.5;display:block}.architecture-steps li>span:last-of-type{margin-top:4px;font-size:10px;line-height:1.55;display:block}.architecture-steps .arrow{width:14px;height:14px;color:var(--accent);position:absolute;top:26px;right:-19px}.architecture-figure figcaption{border-top:1px solid var(--line);margin-top:23px;padding-top:14px;font-size:11px;line-height:1.7}.case-end{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:32px;padding-block:55px 80px;display:flex}.case-end h2{margin-top:16px;font-size:38px}.studio-gallery{gap:32px;margin-block:28px;display:grid}.studio-capture{border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow:hidden}.studio-capture img{background:#0e1117;width:100%;height:auto}.studio-capture figcaption{padding:18px 22px;font-size:12px;line-height:1.7}.studio-capture figcaption strong{font-size:14px}.studio-capture figcaption p{margin-block:5px 8px}.shades-capture,.numpygrad-capture,.rover-recording,.rollover-capture,.rollover-demo{margin-block:28px}.rover-recording video,.rollover-demo video{background:#0e1117;width:100%;height:auto;display:block}.inner-page{padding-block:60px 80px}.inner-page-header{max-width:880px;margin-bottom:60px}.inner-page-header h1{letter-spacing:-.06em;margin-block:20px;font-size:clamp(44px,min(6vw,9svh),76px)}.inner-page-intro{max-width:650px;color:var(--muted);font-size:18px;line-height:1.75}.about-profile,.working-section{border-top:1px solid var(--line);grid-template-columns:1.1fr 1fr;gap:80px;padding-block:48px;display:grid}.about-profile h2,.working-section h2{margin-bottom:22px;font-size:clamp(32px,3.6vw,44px)}.about-profile p{color:var(--muted);font-size:15px;line-height:1.8}.about-profile p+p{margin-top:18px}.profile-notes{margin:0}.profile-notes>div+div{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.profile-notes dt{font-family:var(--mono);color:var(--muted);font-size:11px}.profile-notes dd{margin:8px 0 0;font-size:16px;line-height:1.6}.profile-notes dd span{color:var(--muted);margin-top:4px;font-size:13px;display:block}.capability-section{padding-block:32px 56px}.capability-section h2{font-size:clamp(32px,3.8vw,46px)}.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.capability-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;padding:28px;display:flex}.capability-number{color:var(--accent);font-size:11px}.capability-card h3{margin-block:25px 16px;font-size:26px;line-height:1.2}.capability-card p{color:var(--muted);font-size:14px;line-height:1.75}.capability-links{flex-wrap:wrap;gap:0 20px;margin-top:auto;padding-top:20px;display:flex}.capability-links a{font-size:12px}.working-section .eyebrow{margin-bottom:18px}.working-steps{list-style:none}.working-steps li{gap:20px;display:flex}.working-steps li+li{margin-top:28px}.working-steps .mono{color:var(--accent);padding-top:3px;font-size:11px}.working-steps h3{font-size:20px;line-height:1.3}.working-steps p{color:var(--muted);margin-top:8px;font-size:14px;line-height:1.75}.inner-page-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px 28px;padding-top:36px;display:flex}.community-section{border-top:1px solid var(--line);padding-block:48px}.community-grid{gap:32px;margin-top:36px;display:grid}.community-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:32px}.community-role{color:var(--accent);margin-bottom:8px;font-size:11px;display:inline-block}.community-card h3{margin-bottom:12px;font-size:clamp(22px,2.5vw,28px)}.community-lead{color:var(--muted);max-width:800px;margin-bottom:24px;font-size:15px;line-height:1.7}.community-event{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.community-event-details h4,.community-subevent h4{margin-bottom:10px;font-size:17px}.community-event-details p,.community-subevent p,.community-card-compact p{color:var(--muted);font-size:14px;line-height:1.75}.community-figure{border:1px solid var(--line);background:var(--surface);border-radius:8px;max-width:520px;margin-top:20px;overflow:hidden}.community-figure img{aspect-ratio:16/10;object-fit:cover;object-position:center;width:100%;height:auto;display:block}.community-figure figcaption{color:var(--muted);border-top:1px solid var(--line);background:var(--surface);padding:10px 14px;font-size:12px;line-height:1.5}.community-image-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:660px;margin-top:20px;display:grid}.community-image-pair .community-figure{flex-direction:column;max-width:none;margin-top:0;display:flex}.community-image-pair .community-figure img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}.community-img-presenting{object-position:center 60%!important}.community-image-pair .community-figure figcaption{flex:1;align-items:center;display:flex}.community-subevent{border-top:1px dashed var(--line);margin-top:24px;padding-top:20px}.resume-page{max-width:1000px;padding-block:36px 64px}.resume-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.resume-toolbar h1{letter-spacing:.06em}.about-tools{border-top:1px solid var(--line);padding-block:24px 40px}.about-tools h2{margin-block:10px 24px;font-size:clamp(28px,3.4vw,40px)}.print-button{cursor:pointer;border:0}.print-help{color:var(--muted);font-size:13px}.resume-document{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:52px 64px;font-size:14px;line-height:1.65;box-shadow:0 8px 24px #171b2005}.resume-identity{border-bottom:1px solid var(--line);padding-bottom:24px}.resume-identity .resume-name{letter-spacing:-.05em;font-size:clamp(34px,4.4vw,48px)}.resume-focus{color:var(--muted);margin-top:10px;font-size:16px}.resume-contact{flex-wrap:wrap;gap:4px 20px;margin-top:14px;font-size:12px;list-style:none;display:flex}.resume-document a:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.resume-contact a{overflow-wrap:anywhere;text-underline-offset:3px;text-decoration:underline}.resume-section{margin-top:26px}.resume-section h2{font-family:var(--mono);color:var(--accent);letter-spacing:.04em;text-transform:uppercase;text-wrap:initial;margin-bottom:12px;font-size:11px;font-weight:400;line-height:1.4}.resume-project+.resume-project{margin-top:22px}.resume-project-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 20px;display:flex}.resume-project-heading h3{letter-spacing:-.025em;font-size:19px}.resume-project-heading a{align-items:center;gap:8px;display:inline-flex}.resume-project-heading .arrow{width:14px;height:14px;color:var(--accent)}.resume-project-stack{color:var(--accent);font-size:12px;font-weight:600}.resume-project-role{color:var(--muted);margin-block:6px 9px;font-size:12px}.resume-project ul{color:var(--muted);padding-left:18px;font-size:13px}.resume-project li+li{margin-top:5px}.resume-additional-project+.resume-additional-project{margin-top:12px}.resume-additional-project h3{letter-spacing:-.015em;font-size:15px}.resume-additional-project a{align-items:center;gap:6px;display:inline-flex}.resume-additional-project .arrow{width:12px;height:12px;color:var(--accent)}.resume-additional-project p{color:var(--muted);margin-top:4px;font-size:13px}.resume-credentials{color:var(--muted);font-size:13px}.resume-skills{gap:8px;margin:0;display:grid}.resume-skills>div{grid-template-columns:160px minmax(0,1fr);gap:16px;font-size:13px;display:grid}.resume-skills dt,.resume-education strong{font-weight:500}.resume-skills dd{color:var(--muted);margin:0}.resume-education p{color:var(--muted);margin-top:4px;font-size:13px}.resume-education-item+.resume-education-item{margin-top:12px}.resume-education-heading{flex-wrap:wrap;justify-content:space-between;gap:4px 16px;display:flex}.resume-education-heading>span{color:var(--muted);font-size:12px}.resume-list{color:var(--muted);margin:0;padding-left:18px;font-size:13px}.resume-list li+li{margin-top:5px}.resume-leadership-item+.resume-leadership-item{margin-top:12px}.resume-leadership-item h3{letter-spacing:-.015em;font-size:15px;font-weight:500}.resume-leadership-item p{color:var(--muted);margin-top:3px;font-size:13px}.resume-bottom{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 20px;padding-top:24px;font-size:13px;display:flex}.not-found{padding-block:90px 120px}.not-found h1{margin-block:24px;font-size:clamp(50px,7vw,88px)}.not-found>p:not(.eyebrow){color:var(--muted);margin-bottom:25px}}@layer responsive{@media (width<=1100px){:root{--gutter:32px}.about-profile,.working-section{gap:40px}.capability-grid{gap:16px}.capability-card{padding:22px}.resume-document{padding:40px}.hero-actions{flex-direction:column;align-items:flex-start;gap:5px}.proof-inner>:is(a,span){padding-inline:18px;font-size:11px}.proof-inner .arrow{display:none}.project-cover{padding:18px 20px 15px}.cover-topline>span:last-child{display:none}.shades-wordmark{margin-top:15px;font-size:60px}.rollover-wordmark{font-size:68px}.rollover-wordmark svg{width:40px;right:-40px}.waveform{height:65px;bottom:37px;left:20px;right:20px}.speech-one{top:8px}.speech-two{bottom:3px}.sgen-wordmark{font-size:78px}.about-section{gap:48px}.cover-large{padding:24px 32px}.cover-large .cover-topline>span:last-child{display:inline}.case-body{grid-template-columns:215px minmax(0,1fr);gap:40px}.case-metadata{gap:20px}.diagram-label{flex-direction:column;align-items:flex-start;gap:5px}.architecture-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}.architecture-steps li:nth-child(2) .arrow{display:none}}@media (width>=768px) and (height<=760px){.header-inner{min-height:72px}.hero{padding-block:24px}.hero h1{margin-top:20px;font-size:clamp(44px,min(5.4vw,8svh),64px)}.hero-bottom{margin-top:20px}.hero-bottom>p{font-size:15px;line-height:1.6}.proof-inner>:is(a,span){min-height:56px;padding-block:12px}.work-section{padding-top:40px}.work-section .section-heading{margin-bottom:24px}.work-section .section-heading .eyebrow{margin-bottom:10px}.work-section h2{font-size:42px}}@media (width<=767px){:root{--gutter:20px}.inner-page{padding-block:36px 52px}.community-image-pair{grid-template-columns:1fr}.community-card{padding:22px}.inner-page-header{margin-bottom:36px}.inner-page-header h1{margin-block:18px;font-size:clamp(40px,8vw,60px)}.inner-page-intro{font-size:16px}.about-profile,.working-section{grid-template-columns:1fr;gap:28px;padding-block:32px}.about-profile h2,.working-section h2{font-size:34px}.capability-section{padding-block:24px 36px}.capability-section h2{font-size:34px}.capability-grid{grid-template-columns:1fr}.capability-card{padding:24px}.capability-card h3{margin-top:18px}.working-section h2{margin-bottom:0}.inner-page-actions{padding-top:28px}.resume-page{padding-block:24px 40px}.resume-toolbar{margin-bottom:20px}.resume-document{padding:28px 22px}.resume-identity .resume-name{font-size:clamp(32px,7.5vw,44px)}.resume-contact{flex-direction:column;gap:8px}.resume-skills>div{grid-template-columns:1fr;gap:2px}.studio-capture figcaption{padding:16px 18px}html{scroll-padding-top:24px}.header-inner{min-height:76px}.brand{gap:12px}.brand-name{font-size:12px}.brand-mark{font-size:30px}.desktop-nav{display:none}.mobile-nav{display:block}.hero{padding-top:46px;padding-bottom:22px}.hero-eyebrow{letter-spacing:0;flex-wrap:wrap;gap:3px 8px;font-size:10px}.hero-eyebrow .eyebrow-divider{margin-inline:1px}.hero h1{letter-spacing:-.06em;margin-top:24px;font-size:clamp(43px,8.2vw,64px);line-height:1.09}.hero-bottom{flex-direction:column;align-items:stretch;gap:23px;margin-top:26px}.hero-bottom>p{max-width:480px;font-size:14px}.hero-actions{flex-flow:wrap;align-items:center;gap:22px}.hero-actions .text-link{font-size:12px}.proof-inner{grid-template-columns:1fr}.proof-inner>:is(a,span){min-height:48px;padding:12px 0;font-size:12px}.proof-inner>:is(a,span)+:is(a,span){border-left:0;border-top:1px solid var(--line)}.proof-inner .arrow{display:block}.section-space{padding-block:60px}.section-heading{align-items:flex-start;margin-bottom:30px}.section-heading h2{font-size:37px}.section-heading .eyebrow{margin-bottom:10px;font-size:10px}.section-note{display:none}.project-grid{grid-template-columns:1fr;gap:38px}.project-cover{padding:20px 24px 18px}.cover-topline>span:last-child{display:inline}.cover-topline,.cover-bottomline{font-size:8px}.shades-wordmark{margin-top:21px;font-size:clamp(58px,12vw,82px)}.rollover-wordmark{font-size:clamp(66px,13.5vw,92px)}.rollover-wordmark svg{width:44px;right:-44px}.sgen-wordmark{font-size:clamp(76px,17vw,114px)}.speech-one{top:16px}.speech-two{bottom:6px}.waveform{height:74px;bottom:41px;left:24px;right:24px}.project-card-body{padding-top:22px}.project-card h4{font-size:28px}.project-summary{min-height:0;font-size:14px}.project-role{font-size:11px}.about-section{grid-template-columns:1fr;gap:30px}.about-heading h2{font-size:39px}.about-location{margin-top:19px}.about-copy>.about-intro{font-size:22px}.about-copy>p{font-size:14px}.about-focus{gap:24px}.site-footer{padding-top:48px}.contact-top{flex-direction:column;align-items:flex-start;gap:31px;padding-bottom:46px}.contact-top h2{font-size:45px}.contact-links{min-width:0}.footer-bottom{flex-wrap:wrap;gap:8px 24px;padding-block:20px;font-size:10px}.footer-location{display:none}.footer-bottom>div{gap:20px}.case-header{padding-top:25px;padding-bottom:28px}.case-header>.eyebrow{margin-top:29px;font-size:10px}.case-header h1{margin-top:16px;font-size:clamp(47px,12vw,78px)}.case-deck{max-width:440px;margin-top:12px;font-size:25px}.case-intro{margin-top:18px;font-size:14px}.case-metadata{grid-template-columns:1fr 1fr;gap:20px 14px;margin-top:27px;padding-top:20px}.case-metadata strong{font-size:11px}.case-metadata>div:nth-child(3),.case-metadata>a{grid-column:1/-1}.cover-large{aspect-ratio:1.7;padding:20px 24px}.cover-large .cover-topline,.cover-large .cover-bottomline{font-size:8px}.cover-large .cover-topline>span:last-child{display:none}.case-body{grid-template-columns:1fr;gap:39px;padding-block:39px 50px}.case-contents{border-bottom:1px solid var(--line);padding-bottom:25px;position:static}.case-contents ol{grid-template-columns:1fr 1fr;gap:0 20px;margin-top:13px;display:grid}.case-contents li a{gap:8px;font-size:11px;line-height:1.5}.contents-source{display:none}.prose{font-size:15px;line-height:1.85}.prose h2{margin-block:42px 19px;font-size:27px}.prose h3{font-size:19px}.prose pre{padding:17px;font-size:10px}.srm-study-table th,.srm-study-table td{padding:8px 6px}.architecture-figure{padding:21px}.architecture-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.case-end{flex-direction:column;align-items:flex-start;gap:25px;padding-block:35px 54px}.case-end h2{font-size:32px}.not-found{padding-block:65px 80px}}@media (width<=380px){.hero h1{font-size:41px}.hero-eyebrow{max-width:270px}.hero-eyebrow .eyebrow-divider{display:none}.hero-eyebrow>:last-child{flex-basis:100%}.hero-actions{flex-direction:column;align-items:flex-start;gap:9px}.project-cover{padding:16px 18px 14px}.cover-topline>span:last-child{display:none}.shades-wordmark{margin-top:14px;font-size:52px}.shades-wordmark>span{margin-left:60px}.rollover-wordmark{font-size:58px}.rollover-wordmark>span{margin-left:35px}.rollover-wordmark svg{width:33px;right:-35px}.sgen-wordmark{font-size:67px}.speech-bubble{padding:7px 10px;font-size:14px}.speech-one{top:10px}.speech-two{bottom:2px}.cover-bottomline{font-size:7px}.project-category{font-size:10px}.about-focus{flex-direction:column;gap:10px}.case-contents ol{grid-template-columns:1fr}.case-header h1{font-size:46px}.architecture-figure{padding:17px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media print{@page{size:A4;margin:10mm}body{background:#fff;font-size:11pt}.site-header,.site-footer,.skip-link,.case-contents,.case-end,.back-link,.hero-actions,.resume-toolbar,.resume-bottom{display:none}.resume-page{max-width:none;padding:0}.resume-document{box-shadow:none;color:#171b20;border:0;border-radius:0;padding:0;font-size:9pt;line-height:1.32}.resume-identity{padding-bottom:7px}.resume-identity .resume-name{font-size:22pt}.resume-focus{margin-top:3px;font-size:9.5pt}.resume-contact{flex-direction:row;gap:2px 12px;margin-top:4px;font-size:8pt}.resume-section{margin-top:9px}.resume-section h2{break-after:avoid;margin-bottom:4px;font-size:8pt}.resume-project{break-inside:avoid}.resume-project+.resume-project{margin-top:6px}.resume-project-heading h3{font-size:10pt}.resume-project-heading .arrow{display:none}.resume-project-stack{font-size:8pt}.resume-project-role{margin-block:2px 3px;font-size:8pt}.resume-project ul{padding-left:12px;font-size:9pt}.resume-project li+li{margin-top:2px}.resume-additional-project{break-inside:avoid;font-size:8.5pt}.resume-additional-project+.resume-additional-project{margin-top:3px}.resume-additional-project h3{font-size:8.5pt;display:inline}.resume-additional-project a{display:inline}.resume-additional-project .arrow{display:none}.resume-additional-project p{margin:0 0 0 6px;font-size:8.5pt;display:inline}.resume-credentials{font-size:8.3pt}.resume-skills{gap:3px}.resume-skills>div{grid-template-columns:124px minmax(0,1fr);gap:9px;font-size:8.3pt}.resume-education p{margin-top:1px;font-size:8.3pt}.resume-education-item+.resume-education-item,.resume-leadership-item+.resume-leadership-item{margin-top:6px}.resume-education-item,.resume-leadership-item,.resume-list li{break-inside:avoid}.resume-education-heading>span{font-size:7.3pt}.resume-list{padding-left:12px;font-size:7.8pt}.resume-list li+li{margin-top:2px}.resume-leadership-item h3{font-size:8.5pt}.resume-leadership-item p{margin-top:1px;font-size:8.3pt}.resume-document :is(a,.accent,h2){color:inherit}.container{width:100%}.case-header{padding-top:0}.case-body{padding-block:30px;display:block}.prose{max-width:none}.project-cover{-webkit-print-color-adjust:exact;print-color-adjust:exact}.prose h2,.prose h3{break-after:avoid}.architecture-figure,.case-metadata{break-inside:avoid}.prose a{color:inherit}.section-space{padding-block:30px}}}
