@font-face{font-family:Figtree;src:url(/assets/Figtree-VariableFont_wght-CuCnmeMh.ttf) format("truetype");font-weight:300 900;font-style:normal}@font-face{font-family:Figtree;src:url(/assets/Figtree-Italic-VariableFont_wght-BKw5bOcC.ttf) format("truetype");font-weight:300 900;font-style:italic}@font-face{font-family:Cal Sans;src:url(/assets/CalSans-Regular-C_8aWXSs.ttf) format("truetype");font-weight:400;font-style:normal}:root{--bg: #f7faff;--paper: rgba(255, 255, 255, .78);--text: #10131a;--muted: #68758f;--line: #e2eaf8;--accent: #4e7df2;--highlight: #00389c;--card: #edf4ff;--shadow: 0 24px 70px rgba(74, 105, 162, .1);--max-width: 1120px;--section-gap: 96px;--grid-line: #ebeef0;--grid-gutter: 12px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Figtree,sans-serif;color:var(--text);background:#fff}body.has-docked-bubble .floating-contact-bubble{opacity:0;transform:translate(-50%) translateY(24px) scale(.96);pointer-events:none}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#ffffff73,#ffffff24)}.site-shell{position:relative;width:min(calc(100% - 2rem),var(--max-width));margin:0 auto;padding:0 var(--grid-gutter)}.floating-contact-bubble{position:fixed;left:50%;bottom:1.35rem;z-index:40;display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;padding:.45rem;border:1px solid #f2f2f2;border-radius:999px;background:#fffffff0;box-shadow:inset 0 0 0 4px #ffffffe6,0 10px 24px #10131a0d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform:translate(-50%);transition:opacity .22s ease,transform .22s ease;max-width:calc(100vw - 1.5rem)}.floating-contact-bubble a{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.55rem;padding:0 .9rem;border-radius:14px;color:var(--text);font-weight:400;text-decoration:none;white-space:nowrap;text-shadow:0 0 0 rgba(16,19,26,0);transition:color .22s ease,text-shadow .22s ease,opacity .22s ease}.floating-contact-bubble a:hover,.floating-contact-bubble a:focus-visible{color:var(--text);text-shadow:0 0 0 currentColor}.floating-contact-bubble svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.site-shell:before,.site-shell:after{content:"";position:absolute;top:0;bottom:0;width:1px;background:var(--grid-line);pointer-events:none}.site-shell:before{left:0}.site-shell:after{right:0}.site-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:1rem max(calc(1rem + var(--grid-gutter)),calc((100vw - var(--max-width)) / 2 + var(--grid-gutter)));margin-top:12px;margin-bottom:12px;background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.site-header:before,.site-header:after{content:"";position:absolute;top:-12px;bottom:-12px;width:1px;background:var(--grid-line);pointer-events:none}.site-header:before{left:max(1rem,calc((100vw - var(--max-width)) / 2))}.site-header:after{right:max(1rem,calc((100vw - var(--max-width)) / 2))}.nav-toggle{display:none;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;padding:0;border:0;border-radius:999px;background:transparent;color:var(--text);cursor:pointer}.nav-toggle svg{width:1.25rem;height:1.25rem;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.nav-toggle-icon-close,.nav-toggle[aria-expanded=true] .nav-toggle-icon-menu{display:none}.nav-toggle[aria-expanded=true] .nav-toggle-icon-close{display:block}.mobile-nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:68;background:#0000006b;opacity:0;pointer-events:none;transition:opacity .22s ease}.mobile-nav-panel{position:fixed;left:50%;top:var(--mobile-menu-top, 4.75rem);z-index:69;width:min(calc(100vw - 1.25rem),var(--max-width));padding:.7rem;border:1px solid #f2f2f2;border-radius:20px;background:#fffffffa;box-shadow:inset 0 0 0 4px #ffffffe6,0 18px 42px #10131a14;opacity:0;pointer-events:none;transform:translate(-50%) translateY(-14px);transition:opacity .22s ease,transform .22s ease}.mobile-nav-panel nav{display:grid;gap:.2rem}.mobile-nav-link{display:flex;align-items:center;min-height:2.85rem;padding:.4rem .55rem;border-radius:14px;color:var(--text);text-decoration:none;font-size:1rem;font-weight:400;text-shadow:0 0 0 rgba(16,19,26,0);transition:color .22s ease,text-shadow .22s ease,background-color .22s ease}.mobile-nav-link:hover,.mobile-nav-link:focus-visible,.mobile-nav-link.is-active{color:var(--text);text-shadow:0 0 0 currentColor}body.has-mobile-nav-open{overflow:hidden}body.has-mobile-nav-open .mobile-nav-overlay,body.has-mobile-nav-open .mobile-nav-panel{opacity:1;pointer-events:auto}body.has-mobile-nav-open .mobile-nav-panel{transform:translate(-50%) translateY(0)}.brand-group{display:inline-flex;align-items:flex-end;gap:1rem}.brand,.site-nav a,.list-item,.project-row a,.contact-links a,.brand-inline-link{color:inherit;text-decoration:none}.brand{display:inline-flex;align-items:flex-end;gap:.6rem;font-size:1.05rem;font-weight:500;letter-spacing:-.02em;line-height:1.1}.brand-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--text);transform:translateY(-.02rem)}.brand-icon svg{display:block;width:.95rem;height:.95rem}.brand-name{display:inline-flex;align-items:flex-end;line-height:1;white-space:nowrap}.brand-subhead{position:relative;display:inline-flex;align-items:flex-end;height:1.1rem;overflow:hidden;color:var(--muted);font-size:1.05rem;font-weight:400;line-height:1}.brand-subhead:before{content:"/";margin-right:.4rem;color:var(--line)}.brand-inline-link{margin-left:.05rem;font-size:.95rem;color:var(--text);font-weight:400;text-shadow:0 0 0 rgba(16,19,26,0);transition:color .22s ease,text-shadow .22s ease,opacity .22s ease}.brand-inline-link:hover,.brand-inline-link:focus-visible,.brand-inline-link.is-active{color:var(--text);text-shadow:0 0 0 currentColor}.subhead-track{position:relative;width:60px;min-width:60px;max-width:60px;height:1.1rem}.subhead-item{position:absolute;left:0;top:0;opacity:0;transform:translateY(120%);transition:opacity .6s ease,transform .6s ease;line-height:1;white-space:nowrap}.subhead-item.is-active{opacity:1;transform:translateY(0)}.subhead-item.is-exit{opacity:0;transform:translateY(-120%)}.site-nav{display:flex;flex-wrap:wrap;gap:1.2rem}.site-nav a{font-size:.95rem;color:var(--text);font-weight:400;display:inline-flex;align-items:center;min-height:1.5rem;text-shadow:0 0 0 rgba(16,19,26,0);transition:color .22s ease,text-shadow .22s ease,opacity .22s ease}.site-nav a:hover,.site-nav a:focus-visible{color:var(--text);text-shadow:0 0 0 currentColor}.site-nav a.is-active{color:var(--text);text-shadow:0 0 0 currentColor}.hero{padding:160px 0 3rem}.hero-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,340px);gap:2.5rem;align-items:stretch}.hero-copy-block{min-width:0}.hero-media{display:flex;justify-content:flex-end;align-self:stretch;min-height:0}.hero-image-frame{position:relative;width:100%;max-width:340px;height:100%;max-height:420px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.hero-image-frame:after{content:none}.hero-image{width:100%;height:100%;object-fit:cover;object-position:56% 20%;border-radius:14px;transform:scale(1.17)}.media-carousel{position:relative;margin:2rem 0 4rem;overflow:hidden}.carousel-track{display:flex;gap:48px;width:max-content;will-change:transform;animation:carouselScroll 22s linear infinite}.carousel-group{display:flex;gap:48px}.carousel-card{flex:0 0 auto;height:32px;margin:0}.carousel-card img{display:block;width:auto;height:32px;object-fit:contain;background:transparent;border-radius:14px}.carousel-group .carousel-card:first-child img{height:24px;margin-top:4px;margin-bottom:4px}@keyframes carouselScroll{0%{transform:translate(0)}to{transform:translate(calc(-50% - .5rem))}}.page-hero{padding-bottom:2rem}main>section+section{margin-top:var(--section-gap);padding-top:32px}.page-hero .section-kicker,.page-hero .hero-kicker{margin-bottom:32px}.hero-kicker,.section-kicker,.list-meta{margin:0 0 1rem;font-size:14px;letter-spacing:.02em;text-transform:uppercase;color:#6283c4}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.4px}h1,h2{font-family:Cal Sans,sans-serif;font-weight:400}h1{max-width:21ch;font-size:48px;line-height:.98}h2{max-width:18ch;font-size:32px;line-height:1.08}h3{font-size:1.18rem}.hero-copy,.project-row p,.contact-grid p{max-width:60ch;margin-top:1.25rem;font-size:1rem;line-height:1.8;color:var(--muted)}.page-hero .hero-copy{max-width:none}.status-pill{display:inline-flex;align-items:center;gap:.45rem;margin:0 0 1rem;padding:.42rem .75rem;border:1px solid rgba(32,166,106,.18);border-radius:999px;background:#20a66a12;color:#20a66a;font-size:.88rem;line-height:1}.status-pill:before{content:"";position:relative;width:.45rem;height:.45rem;border-radius:999px;background:#20a66a;box-shadow:0 0 #20a66a59;animation:statusPulse 1.8s ease-out infinite}@keyframes statusPulse{0%{box-shadow:0 0 #20a66a52}70%{box-shadow:0 0 0 8px #20a66a00}to{box-shadow:0 0 #20a66a00}}.gallery-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.snap-grid{column-count:3;column-gap:1rem}.snap-card{display:inline-block;width:100%;margin:0;margin-bottom:1rem;overflow:hidden;border-radius:14px;border:1px solid var(--line);background:#fff;break-inside:avoid}.snap-card img{display:block;width:100%;height:auto}.gallery-grid>.section-heading{margin-bottom:.5rem}.gallery-card{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start;transition:transform .22s ease}.gallery-content{display:grid;gap:.35rem}.gallery-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:baseline}.gallery-kicker{margin:0;font-size:14px;letter-spacing:.02em;text-transform:uppercase;color:var(--accent);text-align:right}.gallery-card h2{max-width:none;font-family:inherit;font-size:20px;font-weight:500;line-height:1.2;display:inline-flex;align-items:center;gap:.35rem;justify-self:start}.gallery-arrow{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;flex-shrink:0;opacity:0;transform:translate(-8px);transition:opacity .22s ease,transform .22s ease}.gallery-arrow svg{width:100%;height:100%;fill:none}.gallery-arrow svg path{stroke:currentColor}.gallery-content>p{margin-top:.25rem;color:var(--muted);line-height:1.8}.gallery-visual{width:100%;aspect-ratio:16 / 7;border:1px solid var(--line);border-radius:14px;background-color:var(--card);overflow:hidden;transition:transform .22s ease,filter .22s ease}.gallery-visual-image{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.gallery-card:hover,.gallery-card:focus-within{transform:translateY(-2px)}.gallery-card:hover .gallery-arrow,.gallery-card:focus-within .gallery-arrow{opacity:1;transform:translate(0)}.gallery-card:hover .gallery-visual,.gallery-card:focus-within .gallery-visual{transform:scale(1.01);filter:saturate(1.04)}.visual-one,.visual-two{background:none}.visual-three{background:linear-gradient(135deg,rgba(255,255,255,.5),transparent 30%),linear-gradient(135deg,#e8ddff,#f4efff)}.visual-four{background:radial-gradient(circle at 70% 25%,rgba(255,255,255,.72),transparent 16%),linear-gradient(135deg,#e2eaff,#f7faff)}.visual-five,.visual-six{background:none}.site-footer{margin-top:4rem;padding:60px 0;text-align:center;color:var(--muted)}.footer-mark{display:inline-flex;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--text);overflow:hidden}.footer-mark img{display:block;width:auto;height:4.2rem;opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(28px) rotate(-4deg) scale(.82);transform-origin:center bottom;transition:clip-path 1.1s cubic-bezier(.16,1,.3,1),opacity .52s ease,transform .9s cubic-bezier(.16,1,.3,1)}.site-footer.is-visible .footer-mark img{opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0) rotate(0) scale(1)}.footer-meta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.9rem;font-size:.98rem}.footer-meta p{color:var(--muted)}.footer-meta span{color:var(--text)}.footer-dot{width:4px;height:4px;border-radius:999px;background:#12121233}.content-section{display:grid;gap:1.25rem}.gallery-grid,.content-section,.contact-section,.site-footer{position:relative}.gallery-grid:before,.content-section:before,.contact-section:before,.site-footer:before{content:"";position:absolute;left:calc(var(--grid-gutter) * -1);right:calc(var(--grid-gutter) * -1);top:0;height:1px;background:var(--grid-line);pointer-events:none}.section-heading{display:grid;gap:.8rem}.section-heading-link{color:inherit;text-decoration:none}.list-grid,.project-list{display:grid}.list-item,.project-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.list-item-link,.project-row-link{color:inherit;text-decoration:none}.list-item-link:hover,.list-item-link:focus-visible,.project-row-link:hover,.project-row-link:focus-visible{color:inherit}.list-title{font-size:1.05rem;line-height:1.5}.list-item-block{align-items:flex-start}.list-item .list-meta{margin:0;text-align:right;flex-shrink:0}.list-heading{margin-top:.3rem;font-size:20px;font-weight:500;line-height:1.25}.list-heading,.project-row h3{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;margin:0}.list-description{margin-top:.75rem;max-width:62ch;color:var(--muted);line-height:1.8}.project-row{align-items:flex-start}.project-row p{margin-top:.45rem}.project-row>div,.list-item>div{min-width:0}.project-row .list-meta{margin:0;text-align:right;flex-shrink:0}.project-row h3 .gallery-arrow{margin-left:.05rem}.list-item:hover .gallery-arrow,.list-item:focus-within .gallery-arrow,.project-row:hover .gallery-arrow,.project-row:focus-within .gallery-arrow{opacity:1;transform:translate(0)}.contact-links a{white-space:nowrap;color:var(--accent)}.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:2rem}.contact-links{display:grid;align-content:start;gap:.8rem}.contact-section{display:grid;gap:1.5rem;border-top:0}.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:start}.contact-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.85rem}.contact-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:2.8rem;padding:0 1rem;gap:.55rem;border-radius:14px;color:var(--text);font-weight:400;text-decoration:none;text-shadow:0 0 0 rgba(16,19,26,0);transition:color .22s ease,text-shadow .22s ease,opacity .22s ease}.contact-actions a:hover,.contact-actions a:focus-visible{color:var(--text);text-shadow:0 0 0 currentColor}.contact-actions a svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.about-layout-grid{display:grid;gap:2rem}.about-photo-frame{width:100%;margin-top:0;border:1px solid #f2f2f2;border-radius:14px;overflow:hidden}.about-photo-frame-intro{margin-bottom:48px}.about-photo{display:block;width:100%;border-radius:14px}.about-story{display:grid;gap:.85rem;width:100%;max-width:none}.about-story h2{margin-top:.75rem;font-family:Figtree,sans-serif;font-size:1rem;font-weight:500;line-height:1.9;letter-spacing:normal}.about-content{gap:2rem}.about-story h2,.about-story .list-description{max-width:none}.about-principles{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:2rem;margin-top:96px;padding:32px 0 .25rem;border-top:1px solid rgba(78,125,242,.08)}.principles-copy{display:grid;gap:1.1rem}.about-principles h2{max-width:none;margin-top:.75rem;font-family:Figtree,sans-serif;font-size:1rem;font-weight:500;line-height:1.9;letter-spacing:normal}.principles-list{display:grid;gap:.7rem;max-width:780px;margin:0;padding-left:1.15rem;list-style:disc}.principles-list li{margin:0;color:var(--muted);font-size:1rem;font-weight:400;line-height:1.8}.principles-photo-frame{width:100%;overflow:hidden;border:1px solid #f2f2f2;border-radius:14px}.principles-photo{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:center;border-radius:14px}.about-experience{grid-column:1 / -1;display:grid;gap:2.2rem;margin-top:96px;padding-top:32px;border-top:1px solid rgba(78,125,242,.08)}.experience-list{display:grid;width:100%}.experience-row{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(260px,1.4fr) auto;align-items:center;gap:2rem;min-height:60px;padding:2px 0;border-bottom:1px solid var(--line)}.experience-company{display:flex;align-items:center;min-width:0}.experience-company h3,.experience-row p,.experience-row span{margin:0;font-family:Figtree,sans-serif;font-size:1rem;font-weight:400;line-height:1.45;letter-spacing:0}.experience-company h3{color:var(--text)}.experience-row p,.experience-row>span{color:var(--muted)}.experience-row>span{justify-self:end}.about-experience+.about-photo-frame{margin-top:96px}.about-block{padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.about-block h2{max-width:none}.article-shell{display:grid;gap:2rem}.article-detail-layout{display:grid;grid-template-columns:0 minmax(0,1fr);align-items:start;overflow:visible}.article-shell{width:100%;grid-column:2}.article-toc{position:sticky;top:7rem;left:auto;width:180px;transform:translate(calc(-100% - 2rem));z-index:10;display:grid;gap:.8rem;pointer-events:auto;align-self:start}.article-toc .section-kicker{margin-bottom:0}.article-toc-nav{display:grid;gap:.25rem;padding-left:.9rem;border-left:1px solid var(--line)}.article-toc-link{color:var(--muted);text-decoration:none;font-size:.92rem;line-height:1.45;transition:color .18s ease,transform .18s ease}.article-toc-link:hover,.article-toc-link:focus-visible{color:var(--text)}.article-toc-link.is-active{color:var(--text);transform:translate(2px)}.article-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;color:var(--muted);font-size:.95rem}.article-body{display:grid;gap:1.1rem;width:100%;max-width:none}.article-body h2{margin-top:1.5rem;max-width:none;font-family:Figtree,sans-serif;font-size:1rem;font-weight:500;line-height:1.9;letter-spacing:normal}.article-body p,.article-body li{color:var(--muted);line-height:1.9}.article-body ol{margin:0;padding-left:1.25rem;display:grid;gap:1.1rem}.article-code-block{margin:.6rem 0 .8rem;border:1px solid var(--line);border-radius:16px;background:#f8fbff;overflow:hidden}.article-code-topbar{display:flex;gap:.45rem;padding:.85rem 1rem;border-bottom:1px solid var(--line);background:#4e7df20a}.article-code-topbar span{width:.58rem;height:.58rem;border-radius:999px;background:#62729159}.article-code-block pre{margin:0;padding:1.1rem 1rem 1.2rem;overflow-x:auto}.article-code-block code{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92rem;line-height:1.8;color:#3f4f70;white-space:pre}.project-card-link{color:inherit;text-decoration:none}.project-card-link:hover,.project-card-link:focus-visible{color:inherit}.project-detail-hero{display:grid;gap:1.1rem}.project-detail-hero .hero-copy{margin-top:0;max-width:none}.project-detail-hero-frame,.case-study-media{width:100%;overflow:hidden;border:1px solid #f2f2f2;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 4px #ffffffe6}.project-detail-image{display:block;width:100%;height:auto}.project-detail-media{width:min(100%,860px);margin:.35rem auto 0}.project-detail-media img{display:block;width:100%;height:auto;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 11H11M14 11H11M11 11V8M11 11V14'/%3E%3Cpath d='M17 17L21 21'/%3E%3Cpath d='M3 11C3 15.4183 6.58172 19 11 19C13.213 19 15.2161 18.1015 16.6644 16.6493C18.1077 15.2022 19 13.2053 19 11C19 6.58172 15.4183 3 11 3C6.58172 3 3 6.58172 3 11Z'/%3E%3C/svg%3E") 12 12,zoom-in}.project-case-study{gap:.9rem}.project-case-study h2{font-size:.96rem;line-height:1.55;margin-top:1.2rem}.project-case-study p,.project-case-study li{font-size:.97rem;line-height:1.65}.project-case-study p+p{margin-top:-.15rem}.project-case-study ul{margin:0;padding-left:1.25rem;display:grid;gap:.5rem}.project-slide-deck{gap:1.35rem}.case-study-slide{display:grid;gap:1rem;padding:1.35rem 0 1.5rem;border-top:1px solid var(--line)}.case-study-slide:first-child{padding-top:0;border-top:0}.case-study-slide h2{margin-top:0;max-width:none}.case-study-slide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem}.case-study-slide-grid.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.slide-block{display:grid;gap:.4rem;align-content:start}.slide-block .section-kicker{margin:0}.slide-block p,.slide-block li,.slide-note,.slide-lead{color:var(--muted)}.slide-lead{margin:0;max-width:72ch}.slide-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.slide-list li{color:var(--muted)}.slide-callout{padding:1rem 1.1rem;border-left:2px solid var(--accent);background:#00389c0a;color:var(--text)}.slide-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.slide-metric{display:grid;gap:.35rem;padding-top:.9rem;border-top:1px solid var(--line)}.slide-metric-value{font-family:Cal Sans,serif;font-size:clamp(2.1rem,3.6vw,3rem);line-height:.95;letter-spacing:-.04em;color:var(--text)}.slide-metric-label{font-size:.95rem;font-weight:500;color:var(--text)}.slide-metric-note{margin:0;color:var(--muted)}.project-case-study .case-study-metrics{list-style:none;padding-left:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.25rem;margin-top:.2rem}.project-case-study .case-study-metrics li{padding:0;border-top:1px solid var(--line);display:grid;gap:.28rem;align-content:start}.project-case-study .case-study-metrics .metric-value{font-family:Cal Sans,serif;font-size:clamp(2.35rem,4vw,3.45rem);line-height:.95;letter-spacing:-.04em;color:var(--text);margin-top:.45rem}.project-case-study .case-study-metrics strong{font-size:1rem;font-weight:500;color:var(--text)}.project-case-study .case-study-metrics p{margin:.2rem 0 0}.project-facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem;border-top:1px solid var(--line)}.project-fact-card{padding:1rem 0 1.15rem;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}.project-fact-card p:last-child{color:var(--text);line-height:1.75}.case-study-pill-list{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start;gap:.65rem;margin:.85rem 0 1.4rem;padding:0;list-style:none}.case-study-pill{display:inline-flex;align-items:center;flex:0 0 auto;width:auto;max-width:100%;min-height:2.35rem;padding:.48rem .85rem;border:1px solid rgba(78,125,242,.18);border-radius:999px;background:#4e7df214;color:var(--highlight);font-size:.9rem;font-weight:500;line-height:1.25}.project-case-study .case-study-pill-list{display:flex;padding-left:0}.project-case-study .case-study-pill-list>li.case-study-pill{display:inline-flex;flex:0 1 auto;width:fit-content;margin:0;padding:.48rem .85rem;list-style:none}.project-case-study .case-study-media{border:0;border-radius:0;background:transparent;box-shadow:none}.project-case-study .pacpro-flow-media{width:calc(100% - (var(--grid-gutter) * 2));margin:1.15rem var(--grid-gutter)}.project-case-study .pacpro-flow-media img{display:block;width:100%;height:auto}.project-case-study .card-recommendation-media{width:100%;margin:1.35rem 0}.project-case-study .card-recommendation-media img{display:block;width:100%;height:auto}.project-case-study .possible-solutions-media{width:calc(100% - (var(--grid-gutter) * 2));margin:1.15rem var(--grid-gutter)}.project-case-study .possible-solutions-media img{display:block;width:100%;height:auto}.project-case-study .case-study-media,.project-case-study .case-study-media img{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 11H11M14 11H11M11 11V8M11 11V14'/%3E%3Cpath d='M17 17L21 21'/%3E%3Cpath d='M3 11C3 15.4183 6.58172 19 11 19C13.213 19 15.2161 18.1015 16.6644 16.6493C18.1077 15.2022 19 13.2053 19 11C19 6.58172 15.4183 3 11 3C6.58172 3 3 6.58172 3 11Z'/%3E%3C/svg%3E") 12 12,zoom-in}.image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:2rem;background:#0000;opacity:0;pointer-events:none;transition:background .26s ease-in-out,opacity .26s ease-in-out;z-index:1500}.image-lightbox.is-open{background:#0006;opacity:1;pointer-events:auto}.image-lightbox.is-closing{pointer-events:none}.image-lightbox-image{position:fixed;max-width:none;border-radius:0;will-change:top,left,width,height,opacity,transform;transition:top .26s ease-in-out,left .26s ease-in-out,width .26s ease-in-out,height .26s ease-in-out,opacity .26s ease-in-out,transform .26s ease-in-out,border-radius .26s ease-in-out;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 17L21 21'/%3E%3Cpath d='M3 11C3 15.4183 6.58172 19 11 19C13.213 19 15.2161 18.1015 16.6644 16.6493C18.1077 15.2022 19 13.2053 19 11C19 6.58172 15.4183 3 11 3C6.58172 3 3 6.58172 3 11Z'/%3E%3Cpath d='M8 11L14 11'/%3E%3C/svg%3E") 12 12,zoom-out;box-shadow:none}.case-study-highlight{padding:1rem 1.1rem;border-left:2px solid var(--accent);background:#00389c0a;color:var(--text)}.case-study-large-text{font-size:1.12rem;line-height:1.9;color:var(--text)}.case-study-caption{letter-spacing:.32em;text-transform:uppercase;color:var(--muted);font-size:.88rem}.case-study-quote{margin:0;padding:1rem 1.1rem;border-left:2px solid var(--line);color:var(--muted);background:#10131a05}.case-study-emphasis-list li{color:var(--text)}.case-study-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@media(max-width:1599px){.article-toc{display:none;position:static;transform:none}}@media(max-width:1100px){.article-detail-layout{grid-template-columns:1fr}.article-shell{grid-column:1}.article-toc{display:none;position:static;transform:none}}@media(max-width:900px){:root{--section-gap: 80px}.brand-inline-link{display:none}.site-shell{width:min(calc(100% - 1.5rem),var(--max-width))}.site-header{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:.85rem;padding:.95rem max(calc(.75rem + var(--grid-gutter)),calc((100vw - var(--max-width)) / 2 + var(--grid-gutter)));margin-bottom:.35rem}.site-header:before{left:.75rem}.site-header:after{right:.75rem}.brand-group{flex-wrap:wrap;align-items:center;gap:.55rem;min-width:0}.site-nav{display:none}.nav-toggle{display:inline-flex;margin-left:auto;flex-shrink:0}.hero{padding:112px 0 2.5rem}.page-hero{padding-bottom:1.5rem}main>section+section{margin-top:var(--section-gap)}h1{max-width:none;font-size:40px}h2{max-width:none;font-size:28px}.hero-copy,.project-row p,.contact-grid p{font-size:.98rem;line-height:1.75}.article-detail-layout{grid-template-columns:1fr}.article-toc{display:none;position:static;transform:none}.contact-grid,.contact-layout{grid-template-columns:1fr}.contact-layout>*{justify-self:start}.gallery-head{grid-template-columns:1fr;gap:.35rem}.gallery-kicker{text-align:left}.hero-layout{grid-template-columns:1fr;align-items:start}.about-principles{grid-template-columns:1fr}.principles-photo-frame{max-width:560px}.experience-row{grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem}.experience-row p{grid-column:1 / -1}.hero-media{justify-content:flex-start;align-self:auto}.hero-image-frame{width:100%;max-width:none;height:auto;max-height:none;aspect-ratio:4 / 5}.hero-image{height:auto;aspect-ratio:4 / 5;object-position:center}.case-study-gallery,.project-facts-grid,.project-case-study .case-study-metrics,.case-study-slide-grid,.case-study-slide-grid.three-up,.slide-metric-grid{grid-template-columns:1fr}.gallery-visual{aspect-ratio:16 / 8.5}.snap-grid{column-count:2}.project-detail-media{width:100%}.floating-contact-bubble{bottom:1rem;gap:.2rem;padding:.35rem .45rem;flex-wrap:nowrap;width:auto;max-width:calc(100vw - 1.25rem);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.floating-contact-bubble a{min-height:2.45rem;padding:0 .72rem;font-size:.92rem;flex:0 0 auto}.floating-contact-bubble::-webkit-scrollbar{display:none}.carousel-card{height:32px}}@media(max-width:720px){.site-shell{width:min(calc(100% - 1.2rem),var(--max-width))}.site-shell:before,.site-shell:after{display:block}.list-item,.project-row{flex-direction:column;align-items:stretch}.site-header{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:nowrap;top:0;padding:.85rem max(calc(.6rem + var(--grid-gutter)),calc((100vw - var(--max-width)) / 2 + var(--grid-gutter)));margin-bottom:.35rem}.site-header:before{left:.6rem}.site-header:after{right:.6rem}.brand{flex-wrap:wrap;gap:.35rem}.brand-group{flex-wrap:wrap;gap:.55rem;min-width:0}.site-nav{display:none}.footer-meta{gap:.6rem;font-size:.9rem}.list-item .list-meta{text-align:left}.hero{padding:88px 0 2rem}.page-hero .section-kicker,.page-hero .hero-kicker{margin-bottom:24px}main>section+section{margin-top:var(--section-gap)}h1{font-size:40px;line-height:1}h2{font-size:24px;line-height:1.1}.hero-copy,.project-row p,.contact-grid p,.list-description{font-size:.96rem;line-height:1.7}.media-carousel{margin:1.5rem 0 2.5rem}.gallery-grid,.content-section{gap:1.25rem}.gallery-card{gap:.85rem}.gallery-visual{aspect-ratio:16 / 10}.snap-grid{column-count:1;column-gap:0}.snap-card{margin-bottom:.85rem}.gallery-card h2,.list-heading{font-size:20px;line-height:1.25}.about-experience{gap:1.25rem}.experience-row{min-height:60px;padding:2px 0}.experience-company h3,.experience-row p,.experience-row span{font-size:1rem}.project-row p,.list-description{max-width:none}.contact-section{padding-bottom:.5rem}.contact-actions{justify-content:flex-start;flex-wrap:nowrap;gap:.35rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;width:100%;margin-left:0}.contact-actions::-webkit-scrollbar{display:none}.contact-actions a{flex:0 0 auto;min-height:2.45rem;padding:0 .72rem;font-size:.9rem;gap:.45rem}.contact-actions a svg{width:.95rem;height:.95rem}.floating-contact-bubble{width:auto;max-width:calc(100vw - .9rem);left:50%;bottom:max(.6rem,env(safe-area-inset-bottom));display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:.15rem;padding:.28rem .35rem;border-radius:999px;transform:translate(-50%);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.mobile-nav-panel{width:calc(100vw - .9rem);top:var(--mobile-menu-top, 4.35rem);border-radius:18px}.mobile-nav-link{min-height:2.75rem;font-size:.96rem}.floating-contact-bubble a{width:auto;min-height:2.35rem;padding:0 .68rem;font-size:.88rem;border-radius:999px;flex:0 0 auto}.floating-contact-bubble svg{width:.9rem;height:.9rem}.floating-contact-bubble::-webkit-scrollbar{display:none}.project-detail-media,.case-study-media,.about-photo-frame,.hero-media{width:100%}}@media(max-width:480px){.site-shell{width:min(calc(100% - 1rem),var(--max-width))}.site-header:before{left:.5rem}.site-header:after{right:.5rem}.brand-name,.brand-subhead{font-size:1rem}.site-nav a,.brand-inline-link{font-size:.92rem}.nav-toggle{width:2.45rem;height:2.45rem}h1{font-size:40px}h2{font-size:18px}.hero-copy,.project-row p,.contact-grid p,.list-description,.article-body p,.article-body li{font-size:.94rem;line-height:1.65}.floating-contact-bubble a span{white-space:nowrap}}.heading-highlight{color:var(--highlight)}
