/* Services: an illustrated set of complementary capabilities. */
.practice-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:35px}.practice-heading h2{font-size:52px}.practice-heading h2 em,.experience-intro h2 em{color:#6260ac}.practice-heading>p{font-size:16px;color:var(--muted);line-height:1.7}.service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-card{background:white;border:1px solid #e0e4ef;border-radius:22px;padding:27px;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px #283a6410}.service-card-top{display:flex;justify-content:space-between;align-items:center;font:14px var(--mono);color:#7b8297;gap:10px}.service-symbol{width:36px;height:36px;border:1px solid #e5e7f0;display:grid;place-items:center;border-radius:50%;font-size:22px;color:#6561aa}.service-visual{height:200px;border-radius:16px;margin:25px 0 28px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f0f0fb}.service-card:nth-child(2) .service-visual{background:#edf4f1}.service-card:nth-child(3) .service-visual{background:#edf1f9}.visual-flows{flex-direction:column;padding:20px}.flow-box,.flow-nodes b{font:14px var(--mono);border:1px solid #b7b7da;padding:10px 17px;border-radius:7px;background:#fff;box-shadow:0 4px 10px #67678d0c}.visual-flows>span{color:#a0a0c5;line-height:1.3}.flow-fork{height:18px;width:130px;border:1px solid #b7b7da;border-bottom:0;border-radius:5px 5px 0 0}.flow-nodes{display:flex;gap:20px}.flow-nodes b{font-weight:400;padding:9px 12px;color:#646182;background:#f9f9ff}.ui-palette{position:absolute;top:25px;left:25px;display:flex;gap:5px;transform:rotate(-10deg)}.ui-palette i{width:23px;height:27px;border-radius:4px;background:#b2cfc1;border:2px solid white}.ui-palette i:nth-child(2){background:#6362b5}.ui-palette i:nth-child(3){background:#e5d6bc}.ui-sample{display:flex;gap:24px;align-items:center;background:white;border:1px solid #dbe6de;box-shadow:0 12px 25px #42594a14;border-radius:12px;padding:18px 24px;transform:rotate(-6deg);width:210px}.ui-sample>span{font:50px Georgia;color:#526755}.ui-sample>div{flex:1}.ui-sample b{height:6px;background:#d4dfd7;display:block;border-radius:5px;margin:7px 0}.ui-sample b:nth-child(2){width:65%}.ui-sample i{display:block;width:45px;height:17px;background:#6c7d67;border-radius:5px;margin-top:13px}.ui-cursor{position:absolute;right:32px;bottom:20px;color:#6260ac;font-size:35px;transform:rotate(12deg)}.build-window{background:#2c344d;border:3px solid #fff;border-radius:12px;width:240px;transform:rotate(5deg);box-shadow:0 14px 25px #28395325}.build-window>div{height:25px;border-bottom:1px solid #434c69;display:flex;gap:4px;align-items:center;padding-left:12px}.build-window i{width:5px;height:5px;background:#7783ab;border-radius:50%}.build-window code{display:block;padding:12px 18px;font:14px/1.6 var(--mono);color:#c8cfe3}.build-window code span{color:#b9afea}.build-check{width:34px;height:34px;position:absolute;bottom:18px;right:22px;display:grid;place-items:center;background:#c8dfd1;border:3px solid white;border-radius:50%;color:#467057;font-size:18px}.service-card h3{font-size:29px;letter-spacing:-1.1px;margin-bottom:7px}.service-card h4{font-size:15px;font-weight:500;color:#6460a7;margin:0 0 15px}.service-card>p{font-size:16px;line-height:1.7;color:#747c90;min-height:84px}.service-card ul{padding:20px 0 23px;margin:0;list-style:none;display:grid;gap:10px}.service-card li{font-size:14px;color:#5c657c;line-height:1.6;position:relative;padding-left:17px}.service-card li:before{content:'+';color:#8780bf;position:absolute;left:0}.service-card-foot{border-top:1px solid #e8eaf2;padding-top:17px;display:flex;justify-content:space-between;gap:10px;font:14px/1.6 var(--mono);color:#7b8297;align-items:center}.service-card-foot>span{font-size:21px;color:#6660ad}
/* Experience: a continuous path, with the current chapter in focus. */
.experience{padding-top:65px;grid-template-columns:.85fr 1.15fr;gap:10%;align-items:start}.experience-intro{position:sticky;top:145px}.experience-intro h2{font-size:49px}.experience-intro>p{font-size:16px;max-width:350px}.career-note{display:flex;gap:20px;align-items:center;margin:38px 0 25px;padding-top:24px;border-top:1px solid #dfe3ed;max-width:340px}.career-years{font:500 65px/1 var(--display);letter-spacing:-4px;color:#6662af}.career-note>div{font-size:15px;color:#7a8194;line-height:1.6}.career-locations{display:flex;gap:15px;align-items:center;font-size:14px;margin-bottom:34px;color:#6a7188}.career-locations span{padding:6px 15px;border:1px solid #dfe3ed;border-radius:25px;background:#fff}.career-locations i{font-style:normal;color:#a7abc3}.career-list{position:relative;display:grid;gap:18px;padding-left:32px}.career-list:before{content:'';position:absolute;left:0;top:35px;bottom:40px;width:1px;background:linear-gradient(#8f8bc4,#dce1ed)}.career-card{border:1px solid #e0e4ef;background:#fff;border-radius:17px;padding:25px 28px;position:relative;transition:box-shadow .3s,transform .3s}.career-card:hover{transform:translateX(4px);box-shadow:0 8px 25px #24365508}.career-card:before{content:'';position:absolute;width:9px;height:9px;left:-37px;top:33px;border-radius:50%;background:#a5a3c9;border:3px solid var(--paper);box-shadow:0 0 0 1px #dadfed}.career-top{display:flex;justify-content:space-between;gap:15px;align-items:center;font:14px/1.5 var(--mono);color:#8890a4;margin-bottom:20px}.career-role{display:flex;gap:16px;align-items:center}.company-mark{width:48px;height:48px;border-radius:13px;background:#eeeff9;display:grid;place-items:center;flex-shrink:0;font:600 23px var(--display);color:#7975b3}.career-role h3,.early-career h3{font-size:23px;letter-spacing:-.6px}.career-role p{font-size:15px;color:#848b9e;margin-top:3px}.career-description{font-size:15px;color:#747e92;line-height:1.7;margin-top:17px}.career-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.career-tags span{border:1px solid #ffffff24;padding:4px 11px;border-radius:25px;font-size:14px;color:#bfc5dd}.featured-career{background:radial-gradient(ellipse at 100% 0,#4f507e,transparent 80%),#282e46;color:white;border-color:#3c4360;box-shadow:0 12px 35px #2631501c}.featured-career:before{background:#756bd0;box-shadow:0 0 0 1px #b4b0d8}.featured-career .career-top{color:#b5b8d4}.featured-career .company-mark{background:#ffffff12;border:1px solid #ffffff20;color:#d8d5f5}.featured-career .career-role p{color:#c8c9de}.featured-career .career-description{color:#b2b8d0}.current-badge{display:flex;align-items:center;gap:7px;color:#d2dddc;font:14px var(--sans);border:1px solid #ffffff25;padding:4px 10px;border-radius:20px}.current-badge i{width:5px;height:5px;background:#9acdb4;border-radius:50%}.early-career{background:#f0f2f8;border-style:dashed}.phone-link{display:block;font-size:18px;color:#c6c5e6;margin-bottom:15px}.phone-link:hover{color:#fff}
/* Readable type: 14px floor for labels and controls, 16px body copy. */
.logo small,.nav nav,.nav sup,.eyebrow,.edition,.mini-label,.index,.hero-foot,.art-caption,.tags,.project-index,.work-note,.availability,.hero-person,.hero-person small,.hero-available,.hero-cta,.text-link,.play-head>span,.switch button,.measure,.cursor-mark small,.play-foot,.code-view,.canvas-label,.canvas-caption,.canvas-chip,.canvas-window small,.craft-badge small,.project-meta p,.open-project,.browser-bar span,.tool-copy .index,.tool-copy p,.tool-link,.editor-head,.editor pre,.editor-status,.about-copy p,.monogram i,.contact-top .index,.contact .availability,.contact-bottom button,.contact-bottom [role=status],footer>span,footer>a:last-child,footer .logo small,.close-dialog,.dialog-tags,.filters button,.filters sup{font-size:14px}.hero-person small{margin-top:3px}.intro p,.about-copy p,.contact-bottom p,.dialog-content p{font-size:16px}.hero-manifesto{font-size:18px}.eyebrow,.edition,.art-caption,.tags{letter-spacing:.3px}.hero-top{flex-wrap:wrap}.hero-foot{flex-wrap:wrap;gap:12px}.nav{height:90px}.nav nav{gap:28px}.logo small{font-size:14px;letter-spacing:.4px;margin-left:12px}.hero-play{width:48%}.play-head>span{max-width:230px;line-height:1.5}.play-head{padding:13px 16px}.switch button{padding:5px 12px}.play-area{height:175px}.measure{top:9px;left:13px;font-size:14px}.sample-button{font-size:16px}.cursor-mark{bottom:15px;right:20%}.cursor-mark small{font-size:14px}.play-foot{font-size:14px;line-height:1.5;gap:10px}.spec-top{top:54px}.spec-bottom{bottom:45px}.play-foot .cross{flex-shrink:0}.code-view{font-size:14px;overflow:auto;max-width:100%}.canvas-label{top:19px;left:24px;font-size:14px;letter-spacing:0}.canvas-caption{font-size:14px;left:20px;bottom:9px;max-width:75%;line-height:1.3}.canvas-chip{font-size:14px;gap:7px}.canvas-window small{font-size:14px}.canvas-window{height:31px}.craft-badge small{font-size:14px}.craft-badge div{font-size:16px}.canvas-web{top:120px}.chip-figma{top:63px;right:20px}.canvas-spark{top:64px;left:23%;font-size:32px}.craft-badge{bottom:48px;left:6%;padding:10px 14px}.canvas-phone{bottom:42px}.art-caption{font-size:14px;flex-wrap:wrap}.browser-bar{height:36px}.browser-bar span{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-image{height:420px}.wide .project-image{height:560px}.project-meta{flex-wrap:wrap;gap:6px}.tags{text-align:left}.editor pre{font-size:14px;overflow:auto}.editor-head,.editor-status{font-size:14px;gap:12px}.tool-copy p,.tool-link{font-size:16px}.work-note{font:14px/1.7 var(--sans)}.contact-top{flex-wrap:wrap}.contact-top .index,.availability{font-size:14px}.contact-bottom button{font-size:14px}.contact-bottom [role=status]{font-size:14px}.contact-bottom{align-items:center}.dialog-content p{font-size:16px}footer .logo small{display:none}
@media(max-width:1050px){.nav .logo small{display:none}.service-cards{gap:15px}.service-card{padding:21px}.service-card h3{font-size:25px}.service-visual{height:180px}.service-card li{font-size:14px}.service-card-top{font-size:14px}.service-card-foot{font-size:14px}.practice-heading h2,.experience-intro h2{font-size:43px}.experience{gap:5%}.career-card{padding:23px}.career-top{font-size:14px}.career-role h3{font-size:21px}.hero-canvas{height:500px}.canvas-chip{font-size:14px}.canvas-chip span{font-size:15px}.craft-badge{left:15px}.craft-badge div,.craft-badge small{font-size:14px}.canvas-label{font-size:14px;max-width:220px}.canvas-caption{font-size:14px;max-width:80%}.hero-person small{font-size:14px}.hero-person{font-size:14px}.intro{max-width:40%}.hero-play{width:52%}.hero-bottom{gap:5%}.play-head>span{font-size:14px;max-width:55%}.switch button{font-size:14px;padding:4px 8px}.hero-foot{font-size:14px}.edition,.eyebrow{font-size:14px}.art-caption{font-size:14px}.tags{font-size:14px}}
@media(max-width:760px){.service-cards{grid-template-columns:1fr}.service-card{padding:27px}.service-card>p{min-height:0}.service-card h3{font-size:29px}.service-visual{height:190px}.service-card ul{padding-bottom:24px}.practice-heading{display:block}.practice-heading>p{margin-top:20px}.experience{grid-template-columns:1fr;gap:35px}.experience-intro{position:static}.career-list{padding-left:25px}.career-card:before{left:-30px}.career-note{max-width:100%}.career-locations{margin-bottom:25px}.career-card{padding:22px}.career-role{gap:13px}.career-role h3{font-size:21px}.career-role p,.career-description{font-size:15px}.career-top{font-size:14px;flex-wrap:wrap;gap:8px}.career-tags span{font-size:14px}.career-years{font-size:59px}.career-note>div{font-size:16px}}
@media(max-width:680px){.nav{height:76px;padding:0 15px}.nav nav{font-size:14px;gap:15px}.nav sup{display:none}.nav .logo{font-size:25px}.nav-contact{font-size:14px;gap:9px;padding:9px 12px}.eyebrow,.edition{font-size:14px;line-height:1.5}.hero-top{gap:10px}.hero-person,.hero-person small{font-size:14px}.hero-main{padding-top:25px}.hero-manifesto{font-size:18px}.hero-cta{font-size:16px}.hero-available{font-size:14px;align-items:flex-start;line-height:1.6}.hero-available i{margin-top:8px;flex-shrink:0}.hero-canvas{height:425px}.canvas-label{font-size:14px;top:18px;left:20px;max-width:100%}.canvas-web{top:124px;height:235px}.canvas-window{height:26px}.canvas-window small{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}.canvas-phone{height:225px;bottom:46px}.canvas-chip{font-size:14px;padding:7px 10px}.chip-figma{top:65px;right:15px}.canvas-spark{top:67px;left:17%;font-size:30px}.chip-code{top:275px;left:9px;font-size:14px}.craft-badge{left:15px;bottom:48px;padding:8px 12px;gap:9px;max-width:70%}.craft-badge>span{font-size:25px}.craft-badge div,.craft-badge small{font-size:14px}.canvas-caption{font-size:14px;bottom:9px;max-width:95%;left:14px}.intro{max-width:100%}.intro p{font-size:16px}.mini-label,.text-link{font-size:14px}.hero-play{width:100%}.play-head{gap:10px;flex-wrap:wrap}.play-head>span{max-width:100%;font-size:14px}.switch button{font-size:14px;padding:6px 15px}.play-area{height:190px}.sample-button{font-size:16px}.measure{font-size:14px;max-width:90%}.cursor-mark small{font-size:14px}.play-foot{font-size:14px}.hero-foot{font-size:14px}.hero-foot>span:last-child{display:none}.index{font-size:14px}.section-top h2{font-size:34px}.filters{width:100%;justify-content:space-around;gap:0;padding:5px}.filters button{font-size:14px;padding:7px 10px}.filters sup{display:none}.project-image,.wide .project-image{height:350px;padding:20px 18px 0}.art-caption{font-size:14px;line-height:1.5;gap:6px}.browser,.wide .browser{margin-top:23px}.browser-bar{height:33px}.browser-bar span{font-size:14px;margin-left:5px}.project-meta p{font-size:14px}.project-meta h3{font-size:23px}.project-index,.tags{font-size:14px}.open-project{font-size:14px;padding:9px 14px}.wide .tool{height:auto;min-height:540px;padding:27px}.tool-copy .index{font-size:14px}.tool-copy h3{font-size:34px}.tool-copy p,.tool-link{font-size:16px}.editor{width:100%}.editor-head,.editor-status,.editor pre{font-size:14px}.editor pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:15px}.work-note{font-size:14px;max-width:95%}.about-copy p{font-size:16px}.about-copy .lead{font-size:19px}.monogram i{font-size:14px;line-height:1.6;right:20px;bottom:25px}.monogram{font-size:180px;padding-left:25px}.practice-heading h2,.experience-intro h2{font-size:38px}.practice-heading>p{font-size:16px}.contact-top .index{font-size:14px;max-width:100%}.contact .availability{font-size:14px}.contact-bottom p{font-size:16px}.phone-link{font-size:18px}.contact-bottom button{font-size:14px}.contact-bottom [role=status]{font-size:14px}.email{font-size:22px}footer>span,footer>a:last-child{font-size:14px}footer{gap:20px}.close-dialog,.dialog-tags{font-size:14px}.dialog-content p{font-size:16px}.dialog-content h3{font-size:18px}.code-view{font-size:14px;padding:12px}.service-card-top,.service-card-foot{font-size:14px}}
