@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.T19VSG_className{font-family:Geist,Geist Fallback;font-style:normal}.T19VSG_variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}._8Li5zG_className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}._8Li5zG_variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer theme{:root,:host{--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.block{display:block}.flex{display:flex}.h-full{height:100%}.min-h-full{min-height:100%}.flex-col{flex-direction:column}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--paper:#f4f6f9;--ink:#1e2938;--muted:#4b5563;--line:#d9e0e9;--navy:#202b3c;--blue-light:#c2d1f1;--accent:#6683b5;--accent-strong:#627da9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5.5rem}body{background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;-webkit-font-smoothing:antialiased;margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit}::selection{background:var(--blue-light);color:var(--ink)}.section-wrap,.site-header,.footer-inner{width:min(100% - 2.5rem,1160px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:76px;display:flex}.brand{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-mark{background:var(--navy);color:#fff;letter-spacing:-1px;border-radius:50%;place-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:grid}.brand-mark span{color:var(--blue-light)}.brand-name{letter-spacing:-.3px;white-space:nowrap;font-size:13px;font-weight:650}.main-nav{align-items:center;gap:clamp(13px,3vw,34px);display:flex}.main-nav a{color:#4b5563;white-space:nowrap;font-size:12px;font-weight:550;text-decoration:none;transition:color .2s}.main-nav a:hover,.footer-links a:hover,.inline-link:hover{color:var(--accent-strong)}.main-nav .nav-contact{color:var(--ink);align-items:center;gap:5px;display:inline-flex}.nav-contact svg,.text-link svg,.inline-link svg,.footer-links svg,.button svg{width:15px;height:15px}.hero{grid-template-columns:1fr;gap:52px;padding-top:66px;padding-bottom:90px;display:grid;position:relative}.hero-copy{z-index:1;max-width:660px;position:relative}.eyebrow,.section-kicker{color:#4b5563;letter-spacing:1.35px;text-transform:uppercase;margin:0;font-size:12px;font-weight:650}.eyebrow{align-items:center;gap:9px;display:flex}.status-dot,.tiny-green-dot,.online-dot{background:#7792c2;border-radius:50%;width:7px;height:7px;display:inline-block}.eyebrow-divider{color:#c0c5ba}.hero h1,.work-heading h2,.experience-heading h2,.skills-heading h2,.contact-section h2{letter-spacing:-.065em;margin:25px 0 0;font-size:clamp(42px,11vw,68px);font-weight:520;line-height:.99}.hero h1 span{color:#627da9;letter-spacing:-.07em;font-family:Georgia,Times New Roman,serif;font-size:.98em;font-style:italic;font-weight:400}.hero-intro{color:#4b5563;max-width:480px;margin:24px 0 0;font-size:15px;line-height:1.8}.hero-actions{flex-wrap:wrap;align-items:center;gap:23px;margin-top:27px;display:flex}.button{border-radius:3px;justify-content:center;align-items:center;gap:16px;min-height:45px;padding:0 18px;font-size:12px;font-weight:600;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--navy);color:#fff}.button-dark:hover{background:#334663}.text-link,.inline-link{color:var(--ink);align-items:center;gap:6px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.hero-stack{flex-wrap:wrap;gap:8px;margin-top:33px;display:flex}.hero-stack span,.project-chips span,.timeline-tags span{color:#556578;border:1px solid #d1d9e5;border-radius:30px;padding:7px 10px;font-size:12px;font-weight:550}.hero-art{background:radial-gradient(at 47% 46%,#7b99cf2e,#0000 41%),linear-gradient(135deg,#edf0f5 0%,#e3e9f1 100%);border:1px solid #d7dee8;border-radius:4px;place-items:center;min-height:295px;display:grid;position:relative;overflow:hidden}.platform-panel{background:#f8fafde6;border:1px solid #fffc;border-radius:4px;width:min(78%,370px);padding:26px;box-shadow:0 18px 42px #202b3c1a}.platform-label{color:#536174;letter-spacing:1px;margin:0 0 13px;font-size:12px;font-weight:650}.platform-panel h2{letter-spacing:-.7px;margin:0;font-size:23px;font-weight:550}.platform-panel ul{color:#4b5563;grid-template-columns:1fr 1fr;gap:9px 12px;margin:18px 0;padding:0;font-size:15px;list-style:none;display:grid}.platform-scale{color:#4b5563;border-top:1px solid #d7dee8;margin:0;padding-top:14px;font-size:14px}.platform-scale strong{color:#334663;font-size:24px;font-weight:650}.proof-strip{background:var(--navy);color:#fff}.proof-inner{grid-template-columns:1fr 1fr;align-items:center;gap:20px 16px;width:min(100% - 2.5rem,1160px);margin-inline:auto;padding:24px 0;display:grid}.proof-item{align-items:center;gap:10px;display:flex}.proof-number{color:var(--blue-light);letter-spacing:-1.7px;font-size:26px;font-weight:480}.proof-number span{font-family:Georgia,serif;font-size:.78em;font-style:italic}.proof-label{color:#d0d8e6;font-size:12px;line-height:1.45}.proof-rule{display:none}.proof-location{color:#d0d8e6;align-items:center;gap:7px;font-size:12px;display:flex}.proof-location .location-spark{color:var(--blue-light);font-size:13px}.section-pad{padding-top:76px;padding-bottom:76px}.section-kicker{color:#4b5563;align-items:center;gap:10px;display:flex}.section-kicker span{color:#627da9;font-family:var(--font-geist-mono), monospace;font-size:12px}.about-grid{grid-template-columns:1fr;gap:23px;margin-top:27px;display:grid}.about-profile{align-items:center;gap:20px;display:flex}.about-headshot{object-fit:cover;border:1px solid #d5deeb;border-radius:50%;flex:none;width:88px;height:88px}.about-grid h2,.education-content h2{letter-spacing:-.055em;margin:0;font-size:clamp(28px,7vw,42px);font-weight:500;line-height:1.09}.about-copy p{color:#4b5563;margin:0 0 14px;font-size:15px;line-height:1.8}.inline-link{color:#536f9e;margin-top:4px}.work-section{background:#e9edf3;padding:72px 0 76px}.work-heading,.experience-heading,.skills-heading{flex-direction:column;gap:15px;margin:25px 0 30px;display:flex}.work-heading h2,.experience-heading h2,.skills-heading h2{margin:0;font-size:clamp(34px,8vw,54px)}.work-heading p{color:#4b5563;max-width:325px;margin:0;font-size:15px;line-height:1.75}.project-card{background:#f7f8f4;border:1px solid #d7dee8;border-radius:4px;padding:17px}.project-topline,.project-label{justify-content:space-between;align-items:center;display:flex}.project-label,.project-date,.project-overline,.tracker-heading>div>p,.map-sidebar-heading,.location-meta span,.layers-label,.detail-number,.skill-card-head>span:first-child,.education-years,.footer-bottom,.footer-note{color:#536174;letter-spacing:.85px;font-size:12px;font-weight:650}.demo-intro,.tracker-heading>div>p,.map-sidebar-heading,.location-meta span,.layers-label,.footer-note{color:#8a9188;font-size:8px}.project-label{justify-content:flex-start;gap:9px}.project-index{color:#536f9e;font-family:var(--font-geist-mono), monospace;font-size:12px}.project-date{font-family:var(--font-geist-mono), monospace;font-size:12px}.project-layout{grid-template-columns:1fr;gap:25px;margin-top:26px;display:grid}.project-icon{color:#627da9;background:#e8edf5;border-radius:50%;place-items:center;width:39px;height:39px;margin-bottom:20px;display:grid}.project-icon svg{width:24px;height:24px}.project-overline{margin:0 0 8px}.project-info h3{letter-spacing:-.06em;margin:0;font-size:clamp(28px,7vw,39px);font-weight:500;line-height:1.02}.project-description{color:#4b5563;max-width:350px;margin:14px 0 15px;font-size:15px;line-height:1.75}.project-chips,.timeline-tags{flex-wrap:wrap;gap:6px;display:flex}.project-chips span,.timeline-tags span{padding:6px 8px;font-size:12px}.project-outcome{color:#4b5563;border-top:1px solid #e2e5dd;align-items:flex-start;gap:9px;margin-top:21px;padding-top:14px;font-size:15px;line-height:1.6;display:flex}.project-outcome strong{color:#263248;font-size:15px;font-weight:600}.outcome-icon{color:#627da9;font-size:13px}.demo-column{background:#f8f9f6;border:1px solid #dfe3da;border-radius:4px;min-width:0;overflow:hidden}.demo-intro{letter-spacing:.55px;border-bottom:1px solid #e6e9e2;justify-content:space-between;align-items:center;gap:5px;min-height:34px;padding:0 10px;font-size:6px;display:flex}.demo-intro>span:first-child{color:#627da9;align-items:center;gap:5px;display:inline-flex}.demo-intro .tiny-green-dot{width:5px;height:5px}.demo-intro>span:last-child{color:#939a91;letter-spacing:0;text-align:right;font-weight:450}.tracker-app{color:#354037;font-family:var(--font-geist-sans), Arial, sans-serif}.tracker-topbar,.tracker-subbar{border-bottom:1px solid #e9ebe5;justify-content:space-between;align-items:center;min-height:37px;padding:0 10px;display:flex}.tracker-brand{color:#34433a;letter-spacing:-.35px;align-items:center;gap:6px;font-size:9px;font-weight:700;display:flex}.tracker-mark{color:#405a82;background:#dce5f3;border-radius:4px;place-items:center;width:17px;height:17px;font-size:9px;display:grid}.tracker-brand-light{color:#778174;font-weight:450}.tracker-team{color:#788076;align-items:center;gap:5px;font-size:7px;display:flex}.tracker-team .online-dot{width:5px;height:5px}.team-avatars{padding-left:3px;display:flex}.team-avatars i{color:#5f5144;background:#d9c6b0;border:1px solid #f8f9f6;border-radius:50%;place-items:center;width:15px;height:15px;margin-left:-3px;font-size:6px;font-style:normal;display:grid}.team-avatars i:nth-child(2){color:#496048;background:#bdd0bb}.team-avatars i:nth-child(3){background:#e1e5dd}.tracker-subbar{color:#596258;min-height:35px;font-size:7px}.tracker-project-dot{background:#7792c2;border-radius:50%;width:6px;height:6px;margin-right:3px;display:inline-block}.tracker-subbar strong{font-weight:600}.tracker-day{color:#9aa096;margin-left:7px}.add-pin-button{color:#fff;background:#334663;border:0;border-radius:3px;padding:5px 7px;font-size:7px}.add-pin-button span{margin-left:2px}.tracker-content{padding:11px 9px 8px}.tracker-heading{justify-content:space-between;align-items:center;display:flex}.tracker-heading>div>p{letter-spacing:.55px;margin:0 0 3px;font-size:5px}.tracker-heading h4{color:#354037;letter-spacing:-.4px;margin:0;font-size:11px;font-weight:620}.tracker-heading h4 span{font-size:10px}.tracker-count{color:#828a80;align-items:baseline;gap:3px;font-size:7px;display:flex}.tracker-count strong{color:#4e6540;font-size:15px;font-weight:600}.tracker-toolbar{justify-content:space-between;align-items:center;gap:5px;margin:10px 0 7px;display:flex}.tracker-filters{scrollbar-width:none;gap:3px;min-width:0;display:flex;overflow-x:auto}.tracker-filters::-webkit-scrollbar{display:none}.filter-chip{color:#737c71;cursor:pointer;background:0 0;border:1px solid #e0e4dc;border-radius:20px;flex:none;padding:4px 6px;font-size:6px;line-height:1}.filter-chip.filter-active{color:#fff;background:#344968;border-color:#344968}.view-switch{background:#f3f5f0;border:1px solid #e1e5de;border-radius:3px;flex:none;padding:2px;display:flex}.view-switch button{color:#91998f;cursor:pointer;background:0 0;border:0;border-radius:2px;place-items:center;width:20px;height:18px;display:grid}.view-switch button.view-active{color:#405a82;background:#fff;box-shadow:0 1px 3px #2435281a}.view-switch svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.1px;width:10px;height:10px}.tracker-map-layout{border:1px solid #e0e4dc;border-radius:3px;grid-template-columns:1fr;display:grid;overflow:hidden}.map-canvas{background-color:#e9eee4;background-image:linear-gradient(26deg,#0000 48.9%,#ffffffb3 49.3% 50.1%,#0000 50.5%),linear-gradient(151deg,#0000 48%,#ffffffa6 48.4% 49.1%,#0000 49.5%);min-height:225px;position:relative;overflow:hidden}.map-water{background:#c7d8dc;border-radius:46%;width:24%;height:135%;position:absolute;top:-15%;left:42%;transform:rotate(24deg)}.map-green-space{z-index:1;background:#dce5f2;border:1px solid #7b95c23d;border-radius:40% 35% 45% 25%;position:absolute}.map-park-one{width:25%;height:21%;top:5%;left:6%;transform:rotate(-14deg)}.map-park-two{width:17%;height:16%;bottom:8%;right:6%;transform:rotate(19deg)}.map-neighborhood{z-index:2;color:#4d6489b3;letter-spacing:.7px;font-size:5px;font-weight:650;position:absolute;inset:0}.map-neighborhood span{position:absolute}.map-neighborhood span:first-child{top:34%;left:5%}.map-neighborhood span:nth-child(2){top:8%;right:7%}.map-neighborhood span:nth-child(3){bottom:23%;right:9%}.map-neighborhood span:nth-child(4){bottom:9%;left:7%}.map-streets{z-index:2;fill:none;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.map-streets path{stroke:#ffffffd1;stroke-width:5px;stroke-linecap:round}.map-streets .map-major-road{stroke:#fffdf7;stroke-width:8px}.map-streets .map-route-line{stroke:#6785b4;stroke-width:2.3px;stroke-dasharray:4 4}.map-label{z-index:3;color:#4e6966ba;letter-spacing:.6px;font-size:5px;position:absolute}.map-label-river{top:46%;left:42%;transform:rotate(65deg)}.map-label-park{color:#5878a7;font-size:6px;top:17%;left:11%}.map-pin{z-index:4;color:#fff;cursor:pointer;border:2px solid #fff;border-radius:50% 50% 50% 3px;place-items:start center;width:24px;height:28px;padding-top:4px;transition:transform .18s,box-shadow .18s;display:grid;position:absolute;transform:translate(-50%,-50%)rotate(-45deg)scale(.87);box-shadow:0 2px 5px #28332a33}.map-pin span{font-size:7px;font-weight:700;transform:rotate(45deg)}.map-pin:hover,.map-pin.pin-selected{z-index:5;transform:translate(-50%,-50%)rotate(-45deg)scale(1);box-shadow:0 0 0 3px #ffffffbf,0 3px 8px #28332a3d}.pin-coral{background:#d78068}.pin-blue{background:#718bbc}.pin-green{background:#718bb8}.map-scale,.map-compass{z-index:3;color:#66756c;align-items:center;gap:4px;font-size:6px;display:flex;position:absolute;bottom:8px}.map-scale{left:9px}.map-scale i{border:1px solid #66756c;border-top:0;width:14px;height:3px}.map-compass{flex-direction:column;gap:0;font-size:6px;top:8px;bottom:auto;right:9px}.map-compass span{font-size:12px;line-height:1}.map-sidebar{background:#fbfcf9;border-top:1px solid #e1e5de;padding:9px}.map-sidebar-heading{justify-content:space-between;align-items:center;font-size:6px;display:flex}.detail-menu{color:#858d83;letter-spacing:1px;font-size:13px}.location-preview{background:linear-gradient(155deg,#0000 45%,#fffc 46% 49%,#0000 50%),linear-gradient(30deg,#e9ece1,#dce6d4);border:1px solid #e9e9dc;border-radius:3px;justify-content:center;align-items:center;min-height:62px;margin-top:7px;display:flex;position:relative;overflow:hidden}.location-preview:before,.location-preview:after{content:"";border:1px solid #ffffffd9;width:120%;height:10px;position:absolute;transform:rotate(-17deg)}.location-preview:after{transform:rotate(31deg)}.location-thumb{z-index:1;color:#fff;border:2px solid #fff;border-radius:50% 50% 50% 3px;place-items:center;width:29px;height:29px;display:grid;position:relative;transform:rotate(-45deg);box-shadow:0 2px 6px #00000021}.location-thumb i{font-size:10px;font-style:normal;transform:rotate(45deg)}.location-thumb b{color:#727e6f;letter-spacing:.5px;font-size:4px;position:absolute;top:32px;transform:rotate(45deg)}.thumb-coral{background:#d78068}.thumb-blue{background:#718bbc}.thumb-green{background:#718bb8}.location-status,.list-status{align-items:center;gap:4px;font-size:6px;font-weight:550;display:inline-flex}.location-status{z-index:1;background:#ffffffe6;border-radius:10px;padding:4px 5px;position:absolute;bottom:5px;right:5px}.location-status i,.list-status i{background:currentColor;border-radius:50%;width:5px;height:5px}.status-coral{color:#ba705c}.status-blue{color:#6681b2}.status-green{color:#5876a7}.map-sidebar h5{color:#39443a;margin:8px 0 4px;font-size:9px;font-weight:650}.location-address{color:#788076;align-items:center;gap:4px;margin:0;font-size:7px;display:flex}.location-address svg{fill:none;stroke:#82967b;stroke-width:1.2px;width:10px;height:10px}.location-meta{border-top:1px solid #eceee8;flex-direction:column;gap:3px;margin-top:8px;padding-top:7px;display:flex}.location-meta span,.layers-label{letter-spacing:.6px;font-size:5px}.location-meta strong{color:#626c61;font-size:7px;font-weight:500}.map-layers{border-top:1px solid #eceee8;grid-template-columns:1fr;gap:6px;margin-top:8px;padding-top:7px;display:grid}.layers-label{margin-bottom:1px}.map-layers label{color:#667065;cursor:pointer;align-items:center;gap:5px;font-size:6px;display:flex}.map-layers input{accent-color:#617eae;width:9px;height:9px;margin:0}.layer-route-icon{border-top:1px dashed #6785b4;width:8px}.layer-pin-icon{background:#718bb8;border-radius:50%;width:6px;height:6px}.tracker-list{background:#fbfcf9;border:1px solid #e0e4dc;border-radius:3px;min-height:180px}.tracker-list-row{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e8ebe4;align-items:center;gap:7px;width:100%;min-height:47px;padding:7px;display:flex}.tracker-list-row:last-child{border-bottom:0}.tracker-list-row:hover,.tracker-list-row.list-row-selected{background:#edf1f7}.list-pin-icon{color:#fff;border:1px solid #fff;border-radius:50% 50% 50% 3px;flex:none;place-items:center;width:17px;height:17px;font-size:7px;display:grid;transform:rotate(-45deg)scale(.86);box-shadow:0 1px 3px #0000001f}.list-pin-icon:first-letter{transform:rotate(45deg)}.list-row-main{flex-direction:column;flex:1;gap:2px;display:flex}.list-row-main strong{color:#465046;font-size:7px;font-weight:600}.list-row-main small{color:#889086;font-size:6px}.empty-list{color:#788076;text-align:center;margin:0;padding:20px 10px;font-size:8px}.tracker-bottom{color:#929a90;justify-content:space-between;align-items:center;padding-top:8px;font-size:6px;display:flex}.tracker-bottom span:first-child{align-items:center;gap:4px;display:inline-flex}.tracker-bottom .tiny-green-dot{width:5px;height:5px}.project-footnote{border-top:1px solid #e2e5dd;flex-direction:column;gap:7px;margin-top:19px;padding-top:13px;display:flex}.project-footnote span{color:#536174;letter-spacing:.9px;font-size:12px;font-weight:650}.project-footnote p{color:#4b5563;max-width:540px;margin:0;font-size:15px;line-height:1.65}.project-details{grid-template-columns:1fr 1fr;gap:22px 15px;margin-top:28px;display:grid}.detail-number{color:#627da9;font-family:var(--font-geist-mono), monospace;font-size:8px}.detail-cell h4{letter-spacing:-.3px;margin:9px 0 6px;font-size:12px;font-weight:600}.detail-cell p{color:#4b5563;margin:0;font-size:15px;line-height:1.65}.experience-section{padding-top:78px;padding-bottom:78px}.experience-heading{margin-bottom:30px}.timeline-entry{border-top:1px solid #d9ddd5;grid-template-columns:1fr;gap:13px;padding:20px 0 24px;display:grid}.timeline-date{color:#4b5563;font-family:var(--font-geist-mono), monospace;align-items:center;gap:7px;font-size:12px;display:flex}.timeline-dot{border:2px solid #718bb8;border-radius:50%;width:7px;height:7px}.timeline-title{flex-direction:column;gap:6px;display:flex}.timeline-title h3{letter-spacing:-.5px;margin:0;font-size:17px;font-weight:580}.timeline-title p{color:#4b5563;margin:0;font-size:12px}.timeline-title p span{color:#687586;padding-inline:3px}.timeline-location{color:#4b5563;font-size:12px}.timeline-body ul{color:#4b5563;gap:8px;margin:17px 0;padding-left:14px;font-size:15px;line-height:1.7;display:grid}.timeline-body li{padding-left:3px}.timeline-body li::marker{color:#627da9}.timeline-tags span{border-color:#d1d9e5}.skills-section{background:#e9edf3}.skills-heading{margin-bottom:24px}.skills-grid{grid-template-columns:1fr;gap:9px;display:grid}.skill-card{background:#f4f6f9;border:1px solid #d7dee8;border-radius:3px;min-height:112px;padding:15px}.skill-card-head{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.skill-card-head h3{flex:1;margin:0 0 0 10px;font-size:12px;font-weight:600}.skill-card-head>span:first-child{color:#627da9;font-family:var(--font-geist-mono), monospace}.skill-cross{color:#627da9;font-size:13px}.skill-list{flex-wrap:wrap;gap:6px;display:flex}.skill-list span{color:#536174;background:#e7ecf4;border-radius:2px;padding:5px 7px;font-size:12px}.education-section{padding-top:66px;padding-bottom:70px}.education-card{background:#f4f6f9;border:1px solid #d7dee8;border-radius:3px;align-items:center;gap:13px;margin-top:22px;padding:19px 15px;display:flex}.education-emblem{color:#627da9;background:#fff;border:1px solid #d5deeb;border-radius:50%;flex:none;place-items:center;width:45px;height:45px;font-size:12px;font-weight:700;display:grid;position:relative;overflow:hidden}.education-emblem-image{object-fit:cover;border-radius:50%;display:block;width:100%!important;height:100%!important}.education-emblem i{color:#627da9;font-size:13px;font-style:normal;position:absolute;bottom:-3px;right:-4px}.education-content{flex:1}.education-content .project-overline{letter-spacing:.7px;font-size:12px}.education-content h2{letter-spacing:-.4px;font-size:15px;line-height:1.25}.education-content>p:last-child{color:#4b5563;margin:5px 0 0;font-size:15px}.education-years{font-family:var(--font-geist-mono), monospace;white-space:nowrap;align-self:flex-start;padding-top:4px;font-size:12px}.contact-section{background:var(--navy);color:#fff;border-radius:4px 4px 0 0;flex-direction:column;align-items:flex-start;padding-top:62px;padding-bottom:65px;display:flex;position:relative;overflow:hidden}.contact-section:after{content:"";border:1px solid #b9caf02e;border-radius:50%;width:360px;height:360px;position:absolute;bottom:-245px;right:-100px;box-shadow:0 0 0 35px #b9caf00d,0 0 0 75px #b9caf009}.contact-spark{color:var(--blue-light);font-size:24px;position:absolute;top:31px;right:29px}.contact-section .eyebrow{color:#d0d8e6;font-size:12px}.contact-section h2{z-index:1;max-width:780px;margin:20px 0 22px;font-size:clamp(38px,9vw,62px);position:relative}.button-lime{z-index:1;background:var(--blue-light);color:#202b3c;position:relative}.button-lime:hover{background:#d0dcf7}.contact-caption{z-index:1;color:#d0d8e6;max-width:620px;margin:16px 0 0;font-size:15px;line-height:1.65;position:relative}.contact-actions{z-index:1;flex-wrap:wrap;gap:10px;display:flex;position:relative}.button-outline{color:#f5f6f2;background:0 0;border:1px solid #dce6f673}.button-outline:hover{background:#dce6f61f}.resume-note{z-index:1;color:#d0d8e6;margin:7px 0 0;font-size:12px;position:relative}.site-footer{color:#f5f6f2;background:#182131}.footer-inner{grid-template-columns:1fr auto;align-items:center;gap:20px 12px;padding-top:34px;padding-bottom:23px;display:grid}.footer-identity{flex-direction:column;gap:4px;display:flex}.footer-name{letter-spacing:-.6px;font-size:22px;font-weight:600}.footer-small{color:#b6c1d1;letter-spacing:0;font-size:13px;font-weight:450}.footer-links{flex-wrap:wrap;gap:10px;padding:0;display:flex}.footer-links a{color:#e3eaf4;border:1px solid #dce6f63d;border-radius:50%;place-items:center;width:42px;height:42px;text-decoration:none;transition:color .2s,background .2s,border-color .2s;display:grid}.footer-links a:hover{border-color:var(--accent);color:#c2d1f1;background:#6683b533}.footer-links a:focus-visible{outline-offset:3px;outline:2px solid #b9caf0}.footer-links svg{width:19px;height:19px}.footer-bottom{color:#b3bdcc;letter-spacing:.1px;border-top:1px solid #dce6f624;flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:12px;padding-top:17px;font-size:12px;font-weight:450;display:flex}.footer-bottom a{color:#dbe4f4;text-decoration:none}.footer-bottom a:hover{color:#c2d1f1}@media (max-width:479px){.main-nav>a:not(.nav-contact){display:none}.footer-inner{grid-template-columns:1fr;gap:18px}.footer-links{justify-self:start}}@media (min-width:620px){.section-wrap,.site-header,.footer-inner,.proof-inner{width:min(100% - 4rem,1160px)}.site-header{min-height:82px}.brand-name{font-size:14px}.main-nav a{font-size:12px}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:28px;min-height:530px;padding-top:60px;padding-bottom:75px}.hero h1{font-size:clamp(52px,7.2vw,76px)}.hero-art{min-height:360px}.proof-inner{grid-template-columns:auto 1px auto 1px auto 1fr;gap:clamp(12px,2.5vw,35px);padding:22px 0}.proof-rule{background:#e3ebdf33;width:1px;height:30px;display:block}.proof-location{justify-self:end;font-size:12px}.proof-number{font-size:30px}.proof-label{font-size:12px}.section-pad{padding-top:94px;padding-bottom:94px}.about-grid{grid-template-columns:1fr 1fr;gap:40px;margin-top:39px}.about-grid h2{font-size:43px}.about-copy p{font-size:15px}.work-section{padding:90px 0}.work-heading,.experience-heading,.skills-heading{flex-direction:row;justify-content:space-between;align-items:end;gap:30px;margin:34px 0 38px}.work-heading h2,.experience-heading h2,.skills-heading h2{font-size:57px}.work-heading p{padding-bottom:5px;font-size:15px}.project-card{padding:23px}.project-layout{grid-template-columns:minmax(180px,.68fr) minmax(0,1.32fr);align-items:start;gap:19px}.project-info h3{font-size:35px}.project-description{font-size:15px}.project-outcome{margin-top:17px}.demo-intro{min-height:36px;padding-inline:11px;font-size:7px}.tracker-topbar,.tracker-subbar{min-height:39px;padding-inline:11px}.tracker-content{padding:13px 11px 10px}.tracker-heading h4{font-size:12px}.tracker-filters{gap:4px}.filter-chip{padding:5px 7px;font-size:7px}.tracker-map-layout{grid-template-columns:minmax(0,1fr) 132px}.map-canvas{min-height:270px}.map-sidebar{border-top:0;border-left:1px solid #e1e5de;padding:9px}.location-preview{min-height:73px}.map-layers{gap:7px}.tracker-list{min-height:270px}.project-footnote{flex-direction:row;align-items:baseline;gap:22px;margin-top:22px}.project-footnote span{flex:none}.project-footnote p{font-size:15px}.project-details{grid-template-columns:repeat(4,1fr);gap:22px;margin-top:35px}.detail-cell h4{font-size:13px}.detail-cell p{font-size:15px}.timeline-entry{grid-template-columns:150px 1fr;gap:25px;padding:25px 0 30px}.timeline-title{flex-direction:row;justify-content:space-between;align-items:baseline}.timeline-title h3{font-size:19px}.timeline-body ul{grid-template-columns:1fr 1fr;column-gap:25px;font-size:15px}.skills-grid{grid-template-columns:repeat(2,1fr);gap:12px}.skill-card{padding:18px}.skill-list span{font-size:12px}.education-card{gap:19px;padding:23px}.education-emblem{width:55px;height:55px}.education-content h2{font-size:19px}.contact-section{width:min(100% - 4rem,1160px);padding:76px 50px}.footer-inner{grid-template-columns:1fr auto;gap:24px;padding-top:38px;padding-bottom:22px}.footer-links{justify-self:end;gap:12px}.footer-bottom{grid-column:1/-1;padding-top:12px}}@media (min-width:960px){.hero{grid-template-columns:1fr .86fr;gap:70px;min-height:615px;padding-top:75px;padding-bottom:95px}.hero h1{max-width:650px;font-size:78px}.hero-intro{font-size:15px}.hero-art{min-height:400px}.proof-inner{padding:25px 0}.proof-number{font-size:34px}.about-grid{grid-template-columns:1.05fr .95fr;gap:90px}.about-grid h2{font-size:50px}.about-copy{max-width:455px}.project-card{padding:28px}.project-layout{grid-template-columns:minmax(235px,.72fr) minmax(0,1.28fr);gap:35px}.project-info h3{font-size:40px}.project-description{font-size:11px}.map-canvas{min-height:320px}.map-layers{margin-top:12px}.map-layers label{font-size:7px}.timeline-entry{grid-template-columns:190px 1fr;gap:35px}.timeline-body ul{column-gap:42px;font-size:12px}.skills-grid{grid-template-columns:repeat(2,1fr)}.skill-card{min-height:138px;padding:19px}.contact-section{padding:87px 75px}.contact-section h2{font-size:70px}.contact-spark{font-size:30px;top:50px;right:70px}.brand-name,.main-nav a{font-size:clamp(13px,.9vw,15px)}.eyebrow,.section-kicker,.project-label,.project-date,.project-overline,.timeline-date,.detail-number,.education-years{font-size:clamp(12px,.78vw,13px)}.hero-intro,.about-copy p,.work-heading p,.project-description,.project-footnote p,.detail-cell p,.timeline-body ul{font-size:clamp(15px,1vw,17px)}.button,.text-link,.inline-link{font-size:clamp(12px,.88vw,15px)}.hero-stack span,.project-chips span,.timeline-tags span,.skill-list span{font-size:clamp(12px,.76vw,13px)}.proof-label,.proof-location{font-size:clamp(12px,.82vw,14px)}.timeline-title h3{font-size:clamp(21px,1.6vw,25px)}.timeline-title p,.timeline-location{font-size:clamp(13px,.9vw,15px)}.skill-card-head h3{font-size:clamp(15px,1vw,17px)}.education-content h2{font-size:clamp(21px,1.5vw,26px)}.education-content>p:last-child{font-size:clamp(13px,.9vw,15px)}.footer-name{font-size:clamp(24px,2vw,32px)}.footer-small{font-size:clamp(15px,1.1vw,18px)}.footer-bottom{font-size:clamp(13px,.9vw,15px)}.footer-links a{width:48px;height:48px}.footer-links svg{width:22px;height:22px}.demo-intro,.tracker-brand,.tracker-subbar,.tracker-team,.tracker-heading>div>p,.tracker-heading h4,.tracker-count,.filter-chip,.map-sidebar-heading,.location-status,.list-status,.map-sidebar h5,.location-address,.location-meta span,.location-meta strong,.map-layers label,.layers-label,.list-row-main strong,.list-row-main small,.empty-list,.tracker-bottom{font-size:clamp(10px,.7vw,12px)}.tracker-heading h4,.map-sidebar h5,.list-row-main strong{font-size:clamp(12px,.9vw,14px)}.tracker-topbar,.tracker-subbar{min-height:44px;padding-inline:14px}.tracker-content{padding:16px 14px 12px}.filter-chip{padding:7px 9px}.map-neighborhood,.map-label,.map-scale,.map-compass{font-size:clamp(8px,.62vw,10px)}.tracker-map-layout{grid-template-columns:minmax(0,1fr) 190px}.map-sidebar{padding:14px}.location-preview{min-height:104px}.location-address svg{width:13px;height:13px}.tracker-list-row{min-height:56px}.skill-card{min-height:160px}}@media (min-width:1280px){.about-copy p,.work-heading p,.project-description,.project-footnote p,.detail-cell p,.timeline-body ul{font-size:17px}}@media (max-width:619px){.contact-section{padding-inline:20px}.hero-intro,.about-copy p,.work-heading p,.project-description,.project-outcome,.project-footnote p,.detail-cell p,.timeline-body ul,.education-content>p:last-child,.platform-scale,.contact-caption{font-size:15px}.eyebrow,.section-kicker,.main-nav a,.button,.text-link,.inline-link,.hero-stack span,.project-label,.project-date,.project-overline,.project-chips span,.timeline-date,.timeline-tags span,.timeline-title p,.timeline-location,.proof-label,.proof-location,.detail-number,.education-years,.education-content .project-overline,.skill-list span{font-size:12px}.skills-grid{grid-template-columns:1fr}}
