.Navbar-module__cJzEcG__nav{z-index:100;padding:var(--space-sm)var(--space-md);transition:background-color .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;position:fixed;top:0;left:0;right:0}.Navbar-module__cJzEcG__nav.Navbar-module__cJzEcG__scrolled{-webkit-backdrop-filter:blur(12px);background-color:#f5f2edd9}.Navbar-module__cJzEcG__navInner{max-width:var(--max-width);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.Navbar-module__cJzEcG__logo{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text);font-weight:400;text-decoration:none}.Navbar-module__cJzEcG__right{align-items:center;gap:var(--space-md);display:flex}.Navbar-module__cJzEcG__links{gap:var(--space-md);list-style:none;display:flex}.Navbar-module__cJzEcG__switch{background-color:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.Navbar-module__cJzEcG__switchOption{font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-text-muted);border-radius:999px;padding:5px 14px;text-decoration:none;transition:color .2s,background-color .2s}.Navbar-module__cJzEcG__switchOption:hover{color:var(--color-text)}.Navbar-module__cJzEcG__switchOption.Navbar-module__cJzEcG__active{background-color:var(--color-bg);color:var(--color-text);box-shadow:0 1px 2px #00000014}.Navbar-module__cJzEcG__link{font-size:var(--text-sm);color:var(--color-text-muted);letter-spacing:.02em;text-decoration:none;transition:color .2s}.Navbar-module__cJzEcG__link:hover{color:var(--color-text)}.Navbar-module__cJzEcG__toggle{cursor:pointer;background:0 0;border:none;padding:4px;display:none}.Navbar-module__cJzEcG__toggleBar{background-color:var(--color-text);width:24px;height:2px;margin:5px 0;transition:transform .3s,opacity .3s;display:block}.Navbar-module__cJzEcG__toggle.Navbar-module__cJzEcG__open .Navbar-module__cJzEcG__toggleBar:first-child{transform:rotate(45deg)translate(5px,5px)}.Navbar-module__cJzEcG__toggle.Navbar-module__cJzEcG__open .Navbar-module__cJzEcG__toggleBar:nth-child(2){opacity:0}.Navbar-module__cJzEcG__toggle.Navbar-module__cJzEcG__open .Navbar-module__cJzEcG__toggleBar:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.Navbar-module__cJzEcG__mobileMenu{background-color:var(--color-bg);z-index:99;justify-content:center;align-items:center;gap:var(--space-md);flex-direction:column;display:none;position:fixed;inset:0}.Navbar-module__cJzEcG__mobileMenu.Navbar-module__cJzEcG__open{display:flex}.Navbar-module__cJzEcG__mobileLink{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text);text-decoration:none}.Navbar-module__cJzEcG__mobileSwitch{margin-top:var(--space-md);background-color:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:999px;gap:2px;padding:4px;display:inline-flex}.Navbar-module__cJzEcG__mobileSwitch .Navbar-module__cJzEcG__switchOption{font-size:var(--text-sm);padding:8px 22px}@media (max-width:768px){.Navbar-module__cJzEcG__right{display:none}.Navbar-module__cJzEcG__toggle{z-index:101;display:block}}
.Hero-module__ZARIfG__hero{min-height:100vh;padding:var(--space-xl)var(--space-md)var(--space-lg);max-width:var(--max-width);flex-direction:column;justify-content:flex-end;align-items:center;margin:0 auto;display:flex}.Hero-module__ZARIfG__portraitWrapper{width:100%;margin-bottom:var(--space-lg);justify-content:center;display:flex;background:0 0!important}.Hero-module__ZARIfG__portraitWrapper *{background:0 0!important}.Hero-module__ZARIfG__portrait{object-fit:contain;mix-blend-mode:multiply;width:100%;max-width:480px;height:auto;background:0 0!important}.Hero-module__ZARIfG__nameRow{justify-content:space-between;align-items:flex-end;gap:var(--space-md);margin-bottom:var(--space-sm);border-bottom:2px solid var(--color-text);padding-bottom:var(--space-sm);width:100%;display:flex}.Hero-module__ZARIfG__name{font-family:var(--font-display);font-size:var(--text-hero);letter-spacing:-.03em;font-weight:400;line-height:.9}.Hero-module__ZARIfG__location{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;padding-bottom:.6em}.Hero-module__ZARIfG__tagline{font-size:var(--text-xl);color:var(--color-text-muted);max-width:600px;margin-top:var(--space-sm);font-weight:300;line-height:1.4}@media (max-width:768px){.Hero-module__ZARIfG__hero{min-height:80vh;padding-top:var(--space-lg)}.Hero-module__ZARIfG__portrait{max-width:320px}.Hero-module__ZARIfG__nameRow{align-items:flex-start;gap:var(--space-xs);flex-direction:column}.Hero-module__ZARIfG__location{padding-bottom:0}}
.About-module__vAULUW__about{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.About-module__vAULUW__grid{gap:var(--space-lg);flex-direction:column;max-width:800px;display:flex}.About-module__vAULUW__text p{font-size:var(--text-lg);color:var(--color-text);margin-bottom:var(--space-sm);line-height:1.8}.About-module__vAULUW__text p:last-child{color:var(--color-text-muted);font-size:var(--text-base)}
.GISHero-module__eQUnYq__hero{padding:calc(var(--space-2xl) + var(--space-lg))var(--space-md)var(--space-lg);max-width:var(--max-width);gap:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;margin:0 auto;display:grid;position:relative}.GISHero-module__eQUnYq__text{z-index:1;position:relative}.GISHero-module__eQUnYq__name{font-size:var(--text-2xl);margin-bottom:var(--space-xs)}.GISHero-module__eQUnYq__tagline{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text-muted);margin-bottom:var(--space-md)}.GISHero-module__eQUnYq__intro{max-width:var(--content-width)}.GISHero-module__eQUnYq__intro p{font-size:var(--text-base);color:var(--color-text-muted);margin-bottom:var(--space-sm);line-height:1.7}.GISHero-module__eQUnYq__mapWrap{position:relative}.GISHero-module__eQUnYq__map{width:100%;height:auto;display:block;overflow:visible;-webkit-mask-image:radial-gradient(72% 72%,#000 50%,#0000 100%);mask-image:radial-gradient(72% 72%,#000 50%,#0000 100%)}.GISHero-module__eQUnYq__mapLabel{left:50%;bottom:var(--space-xs);font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);letter-spacing:.06em;color:var(--color-text-muted);pointer-events:none;position:absolute;transform:translate(-50%)}.GISHero-module__eQUnYq__minorRoads{fill:none;stroke:var(--color-border);stroke-width:.75px;vector-effect:non-scaling-stroke}.GISHero-module__eQUnYq__majorRoads path{fill:none;stroke:var(--color-accent);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.GISHero-module__eQUnYq__flow path{fill:none;stroke:#e6c252;stroke-width:2.4px;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:.07 .93;stroke-dashoffset:1px;opacity:0}.GISHero-module__eQUnYq__dot{fill:var(--color-accent);opacity:0}.GISHero-module__eQUnYq__ping{fill:none;stroke:var(--color-accent);stroke-width:1.25px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%;opacity:0}@media (prefers-reduced-motion:no-preference){.GISHero-module__eQUnYq__majorRoads{animation:2.6s ease-out forwards GISHero-module__eQUnYq__settleGlow}.GISHero-module__eQUnYq__majorRoads path{stroke-dasharray:1;stroke-dashoffset:1px;animation:.7s cubic-bezier(.16,1,.3,1) forwards GISHero-module__eQUnYq__drawRoad}.GISHero-module__eQUnYq__minorRoads{opacity:0;animation:1.4s .5s forwards GISHero-module__eQUnYq__fadeInRoads}.GISHero-module__eQUnYq__flow path{filter:drop-shadow(0 0 3px var(--color-accent));animation:.7s forwards GISHero-module__eQUnYq__flowFade,2.8s linear infinite GISHero-module__eQUnYq__flowPulse}.GISHero-module__eQUnYq__dot{animation:.6s forwards GISHero-module__eQUnYq__nodeIn}.GISHero-module__eQUnYq__ping{animation:2.6s ease-out infinite GISHero-module__eQUnYq__sonar}}@keyframes GISHero-module__eQUnYq__flowPulse{to{stroke-dashoffset:0}}@keyframes GISHero-module__eQUnYq__flowFade{to{opacity:.95}}@keyframes GISHero-module__eQUnYq__nodeIn{to{opacity:.9}}@keyframes GISHero-module__eQUnYq__sonar{0%{opacity:.5;transform:scale(1)}70%{opacity:0}to{opacity:0;transform:scale(6)}}@keyframes GISHero-module__eQUnYq__drawRoad{to{stroke-dashoffset:0}}@keyframes GISHero-module__eQUnYq__fadeInRoads{to{opacity:1}}@keyframes GISHero-module__eQUnYq__settleGlow{0%{filter:drop-shadow(0 0 5px var(--color-accent))}to{filter:drop-shadow(0 0 #0000)}}@media (max-width:768px){.GISHero-module__eQUnYq__hero{grid-template-columns:1fr;gap:0}.GISHero-module__eQUnYq__mapWrap{z-index:0;pointer-events:none;align-items:center;display:flex;position:absolute;inset:0}.GISHero-module__eQUnYq__map{opacity:.35}.GISHero-module__eQUnYq__mapLabel{display:none}}
.Services-module__dpHhBa__services{padding:var(--space-xl)var(--space-md);max-width:var(--max-width);margin:0 auto}.Services-module__dpHhBa__list{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.Services-module__dpHhBa__item{padding:var(--space-md);border:1px solid var(--color-border);border-radius:2px;flex-direction:column;transition:border-color .3s;display:flex}.Services-module__dpHhBa__itemWrapper{flex-direction:column;flex-grow:1;display:flex}.Services-module__dpHhBa__item:hover{border-color:var(--color-accent)}.Services-module__dpHhBa__itemTitle{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:var(--space-sm);font-weight:400}.Services-module__dpHhBa__itemDesc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.7}.Services-module__dpHhBa__stats{gap:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border);margin-top:auto;display:flex}.Services-module__dpHhBa__stat{flex-direction:column;display:flex}.Services-module__dpHhBa__statValue{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text);line-height:1}.Services-module__dpHhBa__statLabel{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:4px}.Services-module__dpHhBa__cta{margin-top:var(--space-lg)}.Services-module__dpHhBa__ctaLink{font-size:var(--text-base);color:var(--color-accent);align-items:center;gap:8px;font-weight:500;transition:gap .3s;display:inline-flex}.Services-module__dpHhBa__ctaLink:hover{gap:14px}.Services-module__dpHhBa__ctaArrow{font-size:1.2em;transition:transform .3s}@media (max-width:768px){.Services-module__dpHhBa__list{grid-template-columns:1fr}.Services-module__dpHhBa__stats{flex-wrap:wrap}}
.GISPortfolio-module__Cny1Oa__portfolio{padding:var(--space-xl)var(--space-md);max-width:var(--max-width);margin:0 auto}.GISPortfolio-module__Cny1Oa__group{margin-bottom:var(--space-xl)}.GISPortfolio-module__Cny1Oa__group:last-child{margin-bottom:0}.GISPortfolio-module__Cny1Oa__groupLabel{font-size:var(--text-lg);color:var(--color-text);margin-bottom:var(--space-md)}.GISPortfolio-module__Cny1Oa__list{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.GISPortfolio-module__Cny1Oa__item{padding:var(--space-md);background-color:var(--color-bg-alt);border-radius:2px;transition:transform .2s}.GISPortfolio-module__Cny1Oa__item:hover{transform:translateY(-2px)}.GISPortfolio-module__Cny1Oa__itemLink{color:inherit;text-decoration:none;display:block}.GISPortfolio-module__Cny1Oa__image{object-fit:cover;width:100%;height:160px;margin-bottom:var(--space-sm);filter:grayscale(30%);border-radius:2px;transition:filter .3s}.GISPortfolio-module__Cny1Oa__itemLink:hover .GISPortfolio-module__Cny1Oa__image{filter:grayscale(0%)}.GISPortfolio-module__Cny1Oa__title{font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:var(--space-xs)}.GISPortfolio-module__Cny1Oa__arrow{color:var(--color-accent);font-size:var(--text-base)}.GISPortfolio-module__Cny1Oa__desc{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-sm);line-height:1.6}.GISPortfolio-module__Cny1Oa__tools{gap:var(--space-xs);flex-wrap:wrap;list-style:none;display:flex}.GISPortfolio-module__Cny1Oa__tool{font-size:var(--text-xs);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:2px;padding:2px 8px}.GISPortfolio-module__Cny1Oa__links{gap:var(--space-sm);margin-top:var(--space-sm);display:flex}.GISPortfolio-module__Cny1Oa__linkBtn{font-size:var(--text-xs);color:var(--color-accent);border:1px solid var(--color-accent);border-radius:2px;padding:2px 10px;text-decoration:none;transition:background-color .15s,color .15s}.GISPortfolio-module__Cny1Oa__linkBtn:hover{background-color:var(--color-accent);color:var(--color-bg)}
.TrackRecord-module__aL9d1a__track{padding:var(--space-xl)var(--space-md);max-width:var(--max-width);margin:0 auto}.TrackRecord-module__aL9d1a__list{grid-template-columns:1fr 1fr;gap:0;display:grid}.TrackRecord-module__aL9d1a__item{padding:var(--space-md);border-top:1px solid var(--color-border);border-right:1px solid var(--color-border);transition:background-color .3s}.TrackRecord-module__aL9d1a__item:hover{background-color:var(--color-bg-alt)}.TrackRecord-module__aL9d1a__item:nth-child(2n){border-right:none}.TrackRecord-module__aL9d1a__item:nth-last-child(-n+2){border-bottom:1px solid var(--color-border)}.TrackRecord-module__aL9d1a__org{font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:2px;line-height:1.2}.TrackRecord-module__aL9d1a__orgLink{color:var(--color-text);text-decoration:none;transition:color .2s}.TrackRecord-module__aL9d1a__orgLink:hover{color:var(--color-accent)}.TrackRecord-module__aL9d1a__role{font-size:var(--text-sm);margin-bottom:4px;font-weight:500}.TrackRecord-module__aL9d1a__period{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:8px}.TrackRecord-module__aL9d1a__desc{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.6}@media (max-width:768px){.TrackRecord-module__aL9d1a__list{grid-template-columns:1fr}.TrackRecord-module__aL9d1a__item{border-right:none}.TrackRecord-module__aL9d1a__item:last-child{border-bottom:1px solid var(--color-border)}}
.GISAnalysisIndex-module__U82R5q__analysis{padding:var(--space-xl)var(--space-md);max-width:var(--max-width);background-color:var(--color-bg-alt);border-radius:2px;margin:0 auto}.GISAnalysisIndex-module__U82R5q__intro{font-size:var(--text-base);color:var(--color-text-muted);max-width:var(--content-width);margin-bottom:var(--space-lg);line-height:1.7}.GISAnalysisIndex-module__U82R5q__empty{font-size:var(--text-sm);color:var(--color-text-muted)}.GISAnalysisIndex-module__U82R5q__list{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.GISAnalysisIndex-module__U82R5q__item{padding:var(--space-md);background-color:var(--color-bg);color:inherit;border-radius:2px;text-decoration:none;transition:transform .2s;display:block}.GISAnalysisIndex-module__U82R5q__item:hover{transform:translateY(-2px)}.GISAnalysisIndex-module__U82R5q__cover{object-fit:cover;width:100%;height:160px;margin-bottom:var(--space-sm);border-radius:2px}.GISAnalysisIndex-module__U82R5q__date{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em}.GISAnalysisIndex-module__U82R5q__title{font-family:var(--font-display);font-size:var(--text-lg);margin:4px 0 var(--space-xs)}.GISAnalysisIndex-module__U82R5q__desc{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-sm);line-height:1.6}.GISAnalysisIndex-module__U82R5q__tags{gap:var(--space-xs);flex-wrap:wrap;list-style:none;display:flex}.GISAnalysisIndex-module__U82R5q__tag{font-size:var(--text-xs);color:var(--color-accent)}
.Contact-module__hcVmEa__contact{padding:var(--space-2xl)var(--space-md);max-width:var(--max-width);margin:0 auto}.Contact-module__hcVmEa__content{max-width:var(--content-width)}.Contact-module__hcVmEa__heading{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:var(--space-md)}.Contact-module__hcVmEa__subtext{font-size:var(--text-base);color:var(--color-text-muted);margin-bottom:var(--space-lg);line-height:1.7}.Contact-module__hcVmEa__links{gap:var(--space-sm);flex-direction:column;display:flex}.Contact-module__hcVmEa__linkItem{font-size:var(--text-lg);color:var(--color-text);align-items:center;gap:12px;text-decoration:none;transition:color .2s;display:inline-flex}.Contact-module__hcVmEa__linkItem:hover{color:var(--color-accent)}.Contact-module__hcVmEa__linkLabel{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;min-width:70px}.Contact-module__hcVmEa__footer{margin-top:var(--space-2xl);padding:var(--space-md)var(--space-md);max-width:var(--max-width);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-left:auto;margin-right:auto;display:flex}.Contact-module__hcVmEa__footerText{font-size:var(--text-xs);color:var(--color-text-muted)}@media (max-width:768px){.Contact-module__hcVmEa__footer{gap:var(--space-xs);text-align:center;flex-direction:column}}
.article-module__fgrTia__wrapper{max-width:var(--content-width);padding:calc(var(--space-2xl) + var(--space-md))var(--space-md)var(--space-2xl);margin:0 auto}.article-module__fgrTia__back{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-lg);transition:color .2s;display:inline-block}.article-module__fgrTia__back:hover{color:var(--color-text)}.article-module__fgrTia__header{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.article-module__fgrTia__date{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em}.article-module__fgrTia__title{font-size:var(--text-2xl);margin:var(--space-xs)0 var(--space-sm)}.article-module__fgrTia__description{font-size:var(--text-lg);color:var(--color-text-muted);line-height:1.6}
.Speaking-module__1pt_yq__speaking{padding:var(--space-xl)var(--space-md);max-width:var(--max-width);background-color:var(--color-bg-alt);border-radius:2px;margin:0 auto}.Speaking-module__1pt_yq__intro{font-size:var(--text-base);color:var(--color-text-muted);max-width:var(--content-width);margin-bottom:var(--space-lg);line-height:1.7}.Speaking-module__1pt_yq__list{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.Speaking-module__1pt_yq__item{padding:var(--space-md);background-color:var(--color-bg);border-radius:2px;transition:transform .2s}.Speaking-module__1pt_yq__item:hover{transform:translateY(-2px)}.Speaking-module__1pt_yq__image{object-fit:cover;width:100%;height:160px;margin-bottom:var(--space-sm);filter:grayscale(30%);border-radius:2px;transition:filter .3s}.Speaking-module__1pt_yq__image:hover{filter:grayscale(0%)}.Speaking-module__1pt_yq__event{font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:4px}.Speaking-module__1pt_yq__topic{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:4px}.Speaking-module__1pt_yq__date{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em}.Speaking-module__1pt_yq__cta{margin-top:var(--space-lg);font-size:var(--text-sm);color:var(--color-text-muted)}.Speaking-module__1pt_yq__ctaEmail{color:var(--color-accent);font-weight:500;text-decoration:none;transition:color .2s}.Speaking-module__1pt_yq__ctaEmail:hover{color:var(--color-accent-hover)}
