.craft-story{--craft-green:#c4dba8;color:#f5f5ef;isolation:isolate;background:#172b22;position:relative;overflow:clip}.craft-story:before{z-index:-1;content:"";background:radial-gradient(at 76% 46%,#789d6230,#0000 45%);position:absolute;inset:0}.craft-sticky{isolation:isolate;grid-template-columns:1.05fr 1fr;align-items:center;gap:56px;max-width:1320px;margin-inline:auto;padding:96px 64px;display:grid;position:relative}.craft-copy,.craft-artwork{z-index:1;min-width:0;position:relative}.craft-eyebrow,.craft-study-label,.craft-stage-number,.craft-art-baseline{letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:500}.craft-eyebrow{color:var(--craft-green);margin:0 0 25px}.craft-copy h2{letter-spacing:-.055em;margin:0;font-size:clamp(44px,4.8vw,68px);font-weight:400;line-height:1.08}.craft-copy h2 em{color:var(--craft-green);letter-spacing:-.035em;font-family:Instrument Serif,Georgia,serif;font-size:1.18em;font-weight:400}.craft-intro{color:#b8c4bb;max-width:350px;margin:25px 0 36px;font-size:14px;line-height:1.8}.craft-progress{grid-template-columns:.7fr 1fr 1.15fr;gap:16px;max-width:440px;margin:0 0 27px;padding:0;list-style:none;display:grid}.craft-progress li{color:#94a298;flex-wrap:wrap;align-items:baseline;gap:7px;font-size:11px;display:flex}.craft-marker-number{color:#829687;font-size:9px}.craft-marker-line{background:#c4dba829;width:100%;height:1px;margin-top:7px;display:block;overflow:hidden}.craft-marker-line>span{background:var(--craft-green);height:100%;transform:scaleX(var(--craft-marker-progress,1));transform-origin:0;display:block}.craft-progress li[data-active],.craft-progress li[data-active] .craft-marker-number{color:var(--craft-green)}.craft-stage-copy{gap:24px;max-width:390px;display:grid}.craft-stage-number{color:#8ba691;margin:0 0 9px}.craft-stage h3{font-family:var(--display,"DM Sans", sans-serif);letter-spacing:-.025em;margin:0 0 10px;font-size:20px;font-weight:500;line-height:1.3}.craft-stage>p:last-child{color:#afbeb2;margin:0;font-size:13px;line-height:1.85}.craft-study-label{color:#a9bcad;margin:0 0 16px;font-size:9px}.craft-layer-key{grid-template-columns:.8fr 1fr 1.15fr;gap:15px;margin-bottom:17px;display:grid}.craft-layer-key>div{color:#a9bcad;border-top:1px solid #71877675;padding-top:9px;transition:color .3s,border-color .3s}.craft-layer-key strong{font-family:var(--display,"DM Sans", sans-serif);font-size:12px;font-weight:600;display:block}.craft-layer-key span{margin-top:4px;font-size:8px;line-height:1.7;display:block}.craft-layer-key [data-active]{color:#e6f1db;border-color:var(--craft-green)}.craft-scene{perspective:1100px;width:100%;height:500px;position:relative}.craft-device{width:246px;height:450px;transform:translateX(-50%) rotateX(var(--craft-device-x,8deg)) rotateY(var(--craft-device-y,-13deg)) rotateZ(var(--craft-device-z,-5deg));transform-style:preserve-3d;position:absolute;top:8px;left:50%}.craft-plane{transform:translate3d(var(--craft-x,0px), var(--craft-y,0px), var(--craft-z,0px)) rotateZ(var(--craft-rotate,0deg));opacity:var(--craft-opacity,1);position:absolute}.craft-architecture-plane{border:1px solid #a5c18e80;border-radius:30px;padding:30px 23px;inset:0;box-shadow:12px 24px 45px #0003}.craft-state-plane{--craft-x:-18px;--craft-y:14px;--craft-z:-14px;color:#263c2d;background:#abc393}.craft-data-plane{--craft-x:18px;--craft-y:28px;--craft-z:-28px;color:#d6e7c8;background:#254331}.craft-layer-number{letter-spacing:.14em;opacity:.7;margin-bottom:14px;font-size:9px;display:block}.craft-plane-heading{font-family:var(--display,"DM Sans", sans-serif);letter-spacing:-.03em;font-size:16px;font-weight:600;line-height:1.15;display:block}.craft-plane-subtitle{margin-top:8px;font-size:11px}.craft-service-list{gap:17px;margin-top:33px;display:grid}.craft-service-list>div{border-top:1px solid #c4dba832;padding-top:13px}.craft-service-list strong{font-size:13px;font-weight:500;display:block}.craft-service-list span{opacity:.75;margin-top:4px;font-size:9px;display:block}.craft-state-values{border-top:1px solid #4d6b4159;justify-content:space-between;padding-block:14px;font-size:10px;display:flex}.craft-plane-subtitle+.craft-state-values{margin-top:35px}.craft-state-values strong{font-size:inherit;font-weight:550}.craft-state-tech{font-family:ui-monospace,Consolas,monospace;font-size:13px;line-height:1.8;position:absolute;bottom:30px}.craft-device-shell{background:#e6ecdf;border:1px solid #bdccba70;border-radius:35px;inset:0;box-shadow:4px 4px #576851,8px 7px #314831,24px 36px 70px #0006,inset 0 0 0 6px #f7f9f0}.craft-device-camera{background:#273b2c;border-radius:10px;width:55px;height:14px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.craft-device-status{color:#26352a;letter-spacing:1px;justify-content:space-between;font-size:8px;font-weight:700;display:flex;position:absolute;top:13px;left:23px;right:20px}.craft-device-home{background:#273b2c;border-radius:3px;width:72px;height:3px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.craft-wireframe{opacity:var(--craft-wire-opacity,0);grid-template-rows:19px 173px 81px 30px;gap:13px;display:grid;position:absolute;inset:51px 18px 40px}.craft-wireframe div{border:1px dashed #55754d8c;border-radius:7px}.craft-wireframe span{color:#4d6b4a;letter-spacing:.2em;place-items:center;font-size:8px;display:grid;position:absolute;inset:0}.craft-brand{color:#293e2d;letter-spacing:-.03em;align-items:center;height:23px;font-size:10px;font-weight:600;display:flex;top:48px;left:21px;right:21px}.craft-hero-panel{color:#e7eddf;background:#2c4938;border-radius:15px;height:190px;padding:18px 17px;top:88px;left:17px;right:17px;overflow:hidden;box-shadow:0 4px 16px #21342412}.craft-hero-caption{letter-spacing:.17em;color:#c4d7b8;font-size:6px}.craft-hero-title{font-family:var(--display,"DM Sans", sans-serif);letter-spacing:-.055em;margin-top:13px;font-size:30px;line-height:1}.craft-ui-summary{color:#c4dba8;align-items:baseline;gap:8px;margin-top:22px;display:flex}.craft-ui-summary strong{font-size:23px;font-weight:500;line-height:1}.craft-ui-summary span{font-size:8px}.craft-detail-panel{color:#283e2d;background:#d8e3c7;border:1px solid #bac9ac;border-radius:14px;justify-content:space-between;align-items:center;height:93px;padding:13px 14px;display:flex;top:292px;left:17px;right:17px}.craft-detail-panel>div{flex-direction:column;display:flex}.craft-detail-caption{letter-spacing:.16em;font-size:5px}.craft-detail-panel strong{letter-spacing:-.04em;margin:6px 0;font-size:15px;font-weight:500;line-height:1.05}.craft-detail-time{color:#566b4a;font-size:5px}.craft-session-status{color:#4d6748;border:1px solid #9aaf8b;border-radius:4px;padding:5px 7px;font-size:7px}.craft-nav-panel{color:#83937d;text-align:center;justify-content:space-between;font-size:9px;display:flex;top:397px;left:27px;right:27px}.craft-nav-panel>span{min-width:29px}.craft-nav-panel .craft-nav-active{color:#304b34}.craft-art-baseline{text-align:center;color:#98ad9c;letter-spacing:.12em;width:100%;font-size:8px;position:absolute;bottom:0}.craft-binary-field{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.craft-binary-field>span{top:var(--binary-top);left:var(--binary-left);color:#c4dba8;opacity:var(--binary-opacity,.14);letter-spacing:.22em;white-space:nowrap;transform:translate3d(var(--binary-x,0px), var(--binary-y,0px), 0);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;position:absolute}.craft-enhanced{height:440svh;min-height:2600px}.craft-enhanced .craft-sticky{height:100svh;min-height:640px;padding-block:45px;position:sticky;top:0}.craft-enhanced .craft-stage-copy{height:128px;display:block;position:relative}.craft-enhanced .craft-stage{opacity:var(--craft-stage-opacity,0);transform:translateY(var(--craft-stage-y,12px));pointer-events:none;transition:opacity .3s,transform .4s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.craft-enhanced .craft-stage-number{display:none}.craft-enhanced.craft-nearby .craft-plane,.craft-enhanced.craft-nearby .craft-device,.craft-enhanced.craft-nearby .craft-stage,.craft-enhanced.craft-nearby .craft-binary-field>span{will-change:transform, opacity}@media (width>=1500px){.craft-sticky{gap:90px}.craft-scene{height:560px}.craft-device{top:32px;scale:1.1}}@media (width<=900px){.craft-sticky{gap:20px;padding-inline:35px}.craft-copy h2{font-size:46px}.craft-scene{height:465px}.craft-device{top:1px;scale:.88}.craft-progress{gap:9px}.craft-progress li{gap:5px;font-size:10px}.craft-layer-key{gap:10px}.craft-layer-key strong{font-size:10px}}@media (width>=681px) and (height<=760px){.craft-enhanced .craft-sticky{min-height:590px;padding-block:30px}.craft-scene{height:415px}.craft-device{top:-23px;scale:.83}}@media (width<=680px){.craft-sticky{flex-direction:column;align-items:stretch;gap:25px;padding:68px 24px 42px;display:flex}.craft-copy h2{font-size:clamp(35px,9.7vw,50px)}.craft-eyebrow{margin-bottom:13px;font-size:8px}.craft-intro{max-width:340px;margin:13px 0 23px;font-size:11px;line-height:1.65}.craft-progress{gap:12px;max-width:none;margin-bottom:17px}.craft-progress li{gap:5px;font-size:9px}.craft-stage h3{margin-bottom:6px;font-size:16px}.craft-stage>p:last-child{font-size:11px;line-height:1.7}.craft-stage-copy{gap:18px;max-width:none}.craft-artwork{align-self:center;width:100%;max-width:380px}.craft-study-label{margin-bottom:9px;font-size:7px}.craft-layer-key{gap:10px;margin-bottom:9px}.craft-layer-key strong{font-size:10px}.craft-layer-key span{font-size:7px;line-height:1.5}.craft-scene{height:365px}.craft-device{top:-43px;scale:.7}.craft-art-baseline{display:none}.craft-binary-field>span{letter-spacing:.14em;font-size:9px}.craft-enhanced{height:420svh;min-height:2300px}.craft-enhanced .craft-sticky{justify-content:center;gap:15px;min-height:690px;padding:30px 24px 16px}.craft-enhanced .craft-stage-copy{height:105px}.craft-enhanced .craft-scene{height:315px}.craft-enhanced .craft-device{top:-66px}}@media (width<=680px) and (height<=730px){.craft-enhanced .craft-sticky{gap:9px;min-height:580px;padding-block:22px 12px}.craft-enhanced .craft-copy h2{font-size:35px}.craft-enhanced .craft-eyebrow{margin-bottom:8px}.craft-enhanced .craft-intro{margin-block:9px 15px}.craft-enhanced .craft-progress{margin-bottom:13px}.craft-enhanced .craft-stage-copy{height:100px}.craft-enhanced .craft-scene{height:240px}.craft-enhanced .craft-device{top:-114px;scale:.53}}@media (width<=680px) and (height<=650px){.craft-enhanced .craft-copy h2{font-size:32px}.craft-enhanced .craft-sticky{gap:6px;min-height:550px;padding-block:18px 10px}.craft-enhanced .craft-intro{margin-block:8px 12px}.craft-enhanced .craft-scene{height:202px}.craft-enhanced .craft-device{top:-137px;scale:.45}}@media (prefers-reduced-motion:reduce),print{.craft-binary-field{display:none}.craft-enhanced{height:auto;min-height:0}.craft-enhanced .craft-sticky{height:auto;min-height:0;padding-block:68px;position:relative}.craft-enhanced .craft-stage-copy{height:auto;display:grid}.craft-enhanced .craft-stage{opacity:1;position:static;transform:none}.craft-enhanced .craft-stage-number{display:block}.craft-enhanced .craft-plane{transform:translate3d(var(--craft-x,0px), var(--craft-y,0px), var(--craft-z,0px));opacity:1}.craft-enhanced .craft-wireframe{opacity:0}.craft-enhanced .craft-device{transform:translate(-50%)rotateX(8deg)rotateY(-13deg)rotate(-5deg)}}@media print{.craft-enhanced .craft-stage{transition:none}.craft-enhanced .craft-plane{transform:none}.craft-enhanced .craft-state-plane{transform:translate3d(-18px,14px,-14px)}.craft-enhanced .craft-data-plane{transform:translate3d(18px,28px,-28px)}}.hero.hero--animated{isolation:isolate;padding-top:76px;padding-bottom:78px}.hero-copy{position:relative}.hero-copy>:not(.hero-field){z-index:1;position:relative}.hero .hero-role{max-width:850px}.hero-field{z-index:0;width:min(51vw,690px);height:570px;position:absolute;top:48px;right:-32px}.hero-field-art{pointer-events:none;position:absolute;inset:0}.hero-field-art:before{content:"";background:radial-gradient(#dbe6c88c,#ecf0e45c 40%,#0000 70%);border-radius:50%;position:absolute;inset:8%}.hero-field-canvas,.hero-field-fallback{width:100%;height:100%;position:absolute}.hero-field-canvas{opacity:0}.hero-field.is-rendered .hero-field-canvas{opacity:1}.hero-field.is-rendered .hero-field-fallback{visibility:hidden}.hero-field-fallback text{fill:#537846;letter-spacing:3px;font:11px ui-monospace,Consolas,monospace}@media (width>=1600px){.hero-field{height:600px;top:27px;right:-42px}}@media (width>=761px) and (width<=1100px){.hero .hero-role{max-width:650px}.hero-field{opacity:.9;width:47vw;height:485px;top:78px;right:-24px}.hero--animated .hero-description{max-width:48%}}@media (width>=761px) and (width<=900px){.hero-field{height:430px}}@media (width<=760px){.hero.hero--animated{min-height:0;padding-top:36px;padding-bottom:44px}.hero-field{width:100%;height:250px;margin-top:8px;position:relative;top:auto;right:auto}.hero-field-art{inset:-12px -12px 0}.hero--animated .hero-description{margin-top:14px}.hero--animated .hero-note{margin-top:25px}}@media (width<=370px){.hero-field{height:220px}}@media print{.hero-field{display:none}.hero .hero-role,.hero-description{max-width:none}}.reading-progress{z-index:90;width:100%;height:3px;transform:scaleX(var(--reading-progress,0));transform-origin:0;pointer-events:none;background:#70905d;position:fixed;top:0;left:0}.hero{padding-bottom:102px;position:relative}.hero-copy{min-width:0}.hero-actions{flex-wrap:wrap;align-items:center;gap:23px;margin-top:30px;display:flex}.hero-actions .button{gap:23px;margin-top:0}.hero-actions .text-link{min-height:44px}[data-reveal]{transition:opacity .85s cubic-bezier(.22,1,.36,1),translate .85s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0s)}[data-reveal].reveal-pending{opacity:0;translate:0 32px}.portrait-artifact[data-reveal]{transition:opacity .85s cubic-bezier(.22,1,.36,1),translate .85s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.2,.7,.15,1)}[data-reveal]:focus-within{opacity:1;transition:none;translate:none}.about-section{padding-block:110px}.stack-section{padding-block:112px}.ai-practice-intro h3 em{color:var(--green)}.connect-section{background:#dce7cc;position:relative;overflow:clip}.connect-inner{isolation:isolate;padding-block:76px 42px;position:relative}.connect-inner>.eyebrow{color:#526348}.connect-main{justify-content:space-between;align-items:center;gap:40px;padding-block:28px 45px;display:flex}.connect-main h2{letter-spacing:-.06em;font-size:clamp(72px,8.5vw,128px);line-height:.93}.connect-main h2 em{line-height:1.03;display:inline-block}.connect-cta{background:var(--ink);min-height:58px;color:var(--paper);border-radius:30px;flex-shrink:0;justify-content:center;align-items:center;margin-right:7%;padding:17px 28px;font-size:13px;transition:opacity .85s cubic-bezier(.22,1,.36,1),translate .85s cubic-bezier(.22,1,.36,1),background .35s,transform .5s cubic-bezier(.22,1,.36,1);display:flex}.connect-cta:hover{background:var(--green);transform:translateY(-2px)}.connect-bottom{border-top:1px solid #aeba9f;justify-content:space-between;align-items:flex-end;gap:30px;padding-top:26px;display:flex}.connect-bottom p{color:#526348;font-size:13px;line-height:1.7}.connect-email{letter-spacing:-.035em;border-bottom:1px solid #799269;align-items:center;gap:25px;min-height:44px;font-size:clamp(14px,1.5vw,20px);display:inline-flex}.connect-email:hover{color:var(--green)}@media (width<=1100px){.site-header nav{gap:25px}.nav-contact{margin-left:0}}@media (width<=760px){.site-header nav{gap:19px;font-size:11px}.site-header .nav-contact{gap:5px}.hero{padding-bottom:85px}.hero-actions{gap:20px;margin-top:25px}.about-section{padding-block:70px}.stack-section{padding-block:72px 65px}.connect-inner{padding-block:54px 32px}.connect-main{gap:15px;padding-block:29px 32px}.connect-main h2{font-size:clamp(47px,12vw,84px)}.connect-cta{min-height:48px;margin-right:0;padding:13px 19px;font-size:11px}.connect-bottom{flex-direction:column;align-items:flex-start;gap:20px}.connect-bottom p{font-size:12px}.connect-email{gap:20px;font-size:18px}}@media (width<=370px){.stack-heading h2{white-space:normal;font-size:clamp(32px,10.7vw,39px)}.site-header nav{gap:12px;font-size:10px}.connect-main h2{font-size:43px}.connect-main{flex-wrap:wrap;gap:24px}.connect-email{font-size:16px}}@media (prefers-reduced-motion:reduce){[data-reveal].reveal-pending{opacity:1;translate:none}.reading-progress{display:none}.connect-cta:hover{transform:none}}@media print{[data-reveal]{transition:none}[data-reveal].reveal-pending{opacity:1;translate:none}.reading-progress{display:none}}.experience-section{padding-block:104px 84px}.experience-heading{max-width:740px;margin-bottom:42px}.experience-heading h2{margin-top:19px}.experience-heading>p:last-child{max-width:550px;color:var(--muted);margin-top:23px;font-size:14px;line-height:1.8}.experience-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;display:grid}.experience-card{border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;padding-top:24px;display:flex}.experience-company{letter-spacing:-.02em;font-size:16px;font-weight:600}.experience-context{color:var(--muted);margin-top:7px;font-size:10px}.experience-card h3{letter-spacing:-.045em;max-width:300px;margin-top:29px;font-size:25px;line-height:1.15}.experience-contribution{color:var(--muted);margin-top:17px;font-size:13px;line-height:1.85}.experience-skills{color:var(--green);margin-top:auto;padding-top:24px;font-size:10px;line-height:1.8}.experience-footnote{color:var(--muted);margin-top:37px;font-size:12px}.experience-footnote .text-link{min-height:44px;font-size:inherit}@media (width<=1100px){.experience-grid{gap:24px}.connect-main h2{font-size:clamp(53px,7.4vw,97px)}}@media (width<=760px){.experience-section{padding-block:68px 54px}.experience-heading{margin-bottom:30px}.experience-heading h2{font-size:clamp(37px,10.5vw,54px)}.experience-grid{grid-template-columns:1fr;gap:28px}.experience-card h3{max-width:none;margin-top:22px;font-size:25px}.experience-contribution{max-width:500px}.experience-skills{padding-top:18px}.experience-footnote{margin-top:24px}.about-copy h2{font-size:clamp(29px,8.7vw,46px)}.connect-main{flex-direction:column;align-items:flex-start;gap:25px}.connect-main h2{font-size:clamp(42px,11.5vw,78px)}}.site-header{z-index:10;border-bottom:0;gap:24px;height:112px;position:relative}.site-header .wordmark{min-width:52px;min-height:52px;font-family:var(--display);letter-spacing:-.095em;align-items:center;font-size:42px;font-weight:700;transition:color .2s;display:inline-flex}.site-header .wordmark:hover{color:var(--green)}.site-header nav{--nav-surface-x:5px;--nav-surface-width:0px;--nav-surface-opacity:0;isolation:isolate;font-family:var(--display);background:#fffffad1;border:1px solid #35533b1f;border-radius:999px;align-items:center;gap:3px;padding:5px;font-size:12px;font-weight:600;display:flex;position:relative;box-shadow:0 3px 4px #1c2f2004,0 10px 35px #1c2f200b}.site-header nav:before{content:"";z-index:-1;inset-block:5px;width:var(--nav-surface-width);opacity:var(--nav-surface-opacity);transform:translateX(var(--nav-surface-x));pointer-events:none;background:#e6ecdf;border-radius:999px;transition:transform .34s cubic-bezier(.22,1,.36,1),width .34s cubic-bezier(.22,1,.36,1),opacity .15s;position:absolute;left:0}.site-header nav a{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:68px;min-height:44px;padding:11px 20px;line-height:1.3;transition:color .18s,background .18s,box-shadow .18s;display:inline-flex}.site-header nav a:after{display:none}.site-header nav a:not(.nav-contact):is(:hover,:focus-visible){color:#203a27;background:#e6ecdf}.site-header nav.navigation-ready a:not(.nav-contact):is(:hover,:focus-visible){background:0 0}.site-header nav a:focus-visible{outline:2px solid var(--green);outline-offset:3px}.site-header nav .nav-contact{color:#f7f8ef;background:#294732;margin-left:5px;padding-inline:22px;box-shadow:inset 0 1px #ffffff1f}.site-header nav .nav-contact:is(:hover,:focus-visible){color:#fff;background:#3d6044;box-shadow:inset 0 1px #ffffff26,0 3px 9px #203a2721}@media (width<=760px){.site-header{gap:14px;height:90px}.site-header .wordmark{min-width:44px;min-height:44px;font-size:36px}.site-header nav{gap:1px;padding:4px;font-size:11px}.site-header nav:before{inset-block:4px}.site-header nav a{min-width:44px;padding-inline:11px}.site-header nav .nav-contact{margin-left:2px;padding-inline:13px}}@media (width<=370px){.site-header{gap:8px}.site-header .wordmark{font-size:34px}.site-header nav{font-size:10px}.site-header nav a{padding-inline:7px}.site-header nav .nav-contact{padding-inline:9px}}@media (prefers-reduced-motion:reduce){.site-header nav:before,.site-header nav a,.site-header .wordmark{transition:none}}@media print{.site-header nav{box-shadow:none;background:0 0}.site-header nav:before{display:none}.site-header nav .nav-contact{color:var(--ink);box-shadow:none;background:0 0}}
