/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::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,ui-sans-serif, system-ui, 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{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]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance: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}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.grid{display:grid}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#17242c;--navy:#173f52;--blue:#2c6f84;--green:#6c8467;--sand:#eee8d9;--paper:#f8f6ef;--line:#ccd3cd;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit}.site-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:20;background:#f8f6eff0;justify-content:space-between;align-items:center;padding:16px clamp(24px,6vw,88px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;font-weight:700;text-decoration:none;display:flex}.brand-mark{background:var(--navy);color:#fff;letter-spacing:.06em;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;display:inline-flex}nav{gap:clamp(18px,4vw,42px);display:flex}nav a{font-size:14px;font-weight:700;text-decoration:none}:is(nav a:hover,nav a:focus-visible){color:var(--blue)}.hero{background:var(--sand);grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:clamp(36px,8vw,110px);min-height:650px;padding:clamp(74px,10vw,138px) clamp(24px,8vw,120px);display:grid;position:relative;overflow:hidden}.hero-copy,.field-note{z-index:2;position:relative}.eyebrow,.section-number,.project-label,.field-note-label{color:var(--blue);letter-spacing:.16em;text-transform:uppercase;margin:0 0 16px;font-size:12px;font-weight:800}h1{letter-spacing:-.055em;max-width:900px;margin:0 0 28px;font-size:clamp(48px,7vw,94px);line-height:.98}h1 span{color:var(--blue);letter-spacing:-.02em;margin-top:16px;font-size:.55em;display:block}.lead{max-width:760px;margin:0;font-size:clamp(18px,2vw,24px);line-height:1.55}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.button{border:1px solid #0000;padding:12px 20px;font-weight:800;text-decoration:none;transition:transform .15s;display:inline-block}.button-primary{background:var(--navy);color:#fff}.button-secondary{border-color:var(--navy);color:var(--navy)}:is(.button:hover,.button:focus-visible){transform:translateY(-2px)}.field-note{border-left:5px solid var(--green);background:#ffffffc2;align-self:end;padding:28px;box-shadow:0 18px 55px #173f521f}.field-note dl{margin:0}.field-note dl div{border-top:1px solid var(--line);padding:12px 0}.field-note dt{color:#536269;text-transform:uppercase;font-size:12px;font-weight:700}.field-note dd{margin:2px 0 0;font-weight:700}.field-note dd span{color:#5b696f;margin-top:2px;font-size:12px;font-weight:700;display:block}.contour{border:2px solid #2c6f8424;border-radius:50%;position:absolute;transform:rotate(-12deg)}.contour-one{width:860px;height:620px;top:-170px;right:-100px}.contour-two{width:690px;height:470px;top:-100px;right:-30px}.intro,.about{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:clamp(36px,8vw,120px);padding:clamp(74px,9vw,130px) clamp(24px,8vw,120px);display:grid}h2{letter-spacing:-.035em;margin:0;font-size:clamp(34px,4vw,58px);line-height:1.08}.intro>p,.about-copy{margin:0;font-size:clamp(17px,1.7vw,21px)}.projects-section{background:#fff;padding:clamp(72px,9vw,125px) clamp(24px,8vw,120px)}.section-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:46px;display:flex}.section-heading>p{color:#536269;max-width:500px;margin:0}.project-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.project-card{background:var(--paper);border:1px solid var(--line);flex-direction:column;min-width:0;display:flex}.project-card-featured{grid-column:1/-1;grid-template-columns:minmax(0,1.55fr) minmax(260px,.45fr);display:grid}.project-gallery{background:var(--navy);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:1px;display:grid}.project-gallery figure{background:#fff;min-width:0;margin:0}.project-gallery img{aspect-ratio:17/22;object-fit:contain;width:100%;height:auto;display:block}.project-gallery figcaption{background:var(--navy);color:#fff;letter-spacing:.08em;text-transform:uppercase;padding:10px 14px;font-size:12px;font-weight:800}.project-preview{background:var(--navy);height:210px;margin:0;position:relative;overflow:hidden}.project-preview img{object-fit:cover;width:100%;height:100%;display:block}.project-preview-contain{background:#fff}.project-preview-contain img{object-fit:contain}.project-preview-pair>div{grid-template-columns:repeat(2,minmax(0,1fr));height:100%;display:grid}.project-preview-pair img{object-position:center top;min-width:0}.project-preview figcaption{color:#fff;letter-spacing:.08em;text-transform:uppercase;background:#173f52eb;padding:9px 12px;font-size:11px;font-weight:800;position:absolute;bottom:0;left:0;right:0}.map-preview{background-color:var(--navy);justify-content:flex-end;align-items:end;height:210px;padding:18px;display:flex;position:relative;overflow:hidden}.map-preview:before,.map-preview:after{content:"";border:1px solid #ffffff6b;border-radius:50%;position:absolute}.map-preview:before{width:340px;height:240px;top:-70px;left:-50px}.map-preview:after{width:260px;height:180px;top:-25px;left:30px}.map-preview-2{background-color:#58735a}.map-preview-3{background-color:#a16e45}.map-preview span{color:#fff;z-index:2;font-size:28px;font-weight:800;position:relative}.project-content{flex-direction:column;flex:1;padding:26px;display:flex}.project-content h3{margin:0 0 14px;font-size:23px;line-height:1.2}.project-content>p:not(.project-label){color:#46545b}details{border-top:1px solid var(--line);margin-top:22px;padding-top:15px}summary{color:var(--navy);cursor:pointer;font-weight:800}details p{margin-bottom:0;font-size:14px}.project-content details{margin-bottom:22px}.project-link{background:var(--navy);color:#fff;align-items:center;gap:8px;margin-top:22px;padding:11px 16px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.project-content .project-link{align-self:flex-start;margin-top:auto}:is(.project-link:hover,.project-link:focus-visible){background:var(--blue)}.capabilities{background:var(--navy);color:#fff;grid-template-columns:.65fr 1.35fr;gap:60px;padding:clamp(72px,9vw,120px) clamp(24px,8vw,120px);display:grid}.section-number-light{color:#9cc9cd}.capabilities ul{flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.capabilities li{border:1px solid #ffffff52;border-radius:999px;padding:10px 16px}.about{background:#fff}.about-copy p:first-child{margin-top:0}.contact{color:#fff;text-align:center;background:#203039;padding:clamp(74px,10vw,138px) clamp(24px,12vw,180px)}.contact h2{max-width:900px;margin:0 auto 22px}.contact>p:not(.section-number){color:#cbd5d8;max-width:720px;margin:0 auto 30px}.button-light{color:var(--ink);background:#fff}footer{justify-content:space-between;align-items:center;padding:24px clamp(24px,8vw,120px);font-size:14px;display:flex}footer p{margin:0}.resume-page{background:#fff}.resume-masthead{background:var(--sand);padding:clamp(68px,8vw,112px) clamp(24px,8vw,120px) clamp(54px,6vw,84px)}.resume-masthead h1{margin-bottom:22px;font-size:clamp(44px,6vw,76px)}.resume-contact{flex-wrap:wrap;gap:8px;margin:0;font-size:16px;font-weight:700;display:flex}.resume-contact a{color:var(--navy)}.resume-note{border-left:4px solid var(--green);color:#425158;max-width:760px;margin:28px 0 0;padding-left:18px}.resume-layout{grid-template-columns:minmax(0,1.6fr) minmax(270px,.65fr);gap:clamp(48px,7vw,96px);padding:clamp(66px,8vw,112px) clamp(24px,8vw,120px);display:grid}.resume-section+.resume-section{border-top:1px solid var(--line);margin-top:58px;padding-top:54px}.resume-profile{margin:0;font-size:19px;line-height:1.75}.resume-entry-heading{justify-content:space-between;align-items:start;gap:24px;display:flex}.resume-entry-heading h2{letter-spacing:-.02em;margin:0 0 2px;font-size:22px}.resume-entry-heading p{color:#536269;margin:0}.resume-entry-heading strong{color:var(--blue);letter-spacing:.04em;text-transform:uppercase;flex:none;padding-top:4px;font-size:13px}.resume-bullets{margin:22px 0 0;padding-left:22px}.resume-bullets li{margin-bottom:12px;padding-left:4px}.resume-subentry{margin-top:38px}.experience-list{gap:34px;display:grid}.experience-item{break-inside:avoid}.experience-item>p{color:#3e4c53;margin:12px 0 0}.resume-sidebar{flex-direction:column;gap:34px;display:flex}.resume-sidebar section{background:var(--paper);border-left:4px solid var(--green);padding:24px}.qualification-list,.sidebar-list{margin:0;padding:0;list-style:none}.qualification-list li,.sidebar-list li{border-top:1px solid var(--line);padding:9px 0}.education-degree,.education-school{display:block}.education-school{white-space:nowrap}.resume-sidebar section>p:last-child{margin-bottom:0}.vi-page{background:#f3f5ef;min-height:100vh}.vi-header{background:#f3f5eff2}.vi-hero{background:#dfe8db;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(40px,7vw,100px);padding:clamp(72px,9vw,126px) clamp(24px,8vw,120px);display:grid}.vi-hero h1{font-size:clamp(46px,6.5vw,86px)}.vi-hero h1 span{color:#32704f}.vi-badges{flex-wrap:wrap;gap:9px;margin-top:28px;display:flex}.vi-badges span{background:#ffffffb3;border:1px solid #b9c9b7;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:800}.vi-flight-card{color:#fff;background:#173d33;align-self:end;padding:28px}.vi-flight-card .field-note-label{color:#a8d5b2}.vi-flight-card dl{margin:0}.vi-flight-card dl div{border-top:1px solid #fff3;padding:11px 0}.vi-flight-card dt{color:#b8cbc3;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.vi-flight-card dd{margin:2px 0 0;font-weight:700}.vi-analysis{padding:clamp(68px,9vw,118px) clamp(24px,7vw,104px)}.vi-section-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px;display:flex}.vi-section-heading>p{color:#52605a;max-width:520px;margin:0}.vi-index-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.vi-index-tabs button{color:#263b32;cursor:pointer;font:inherit;letter-spacing:.08em;background:#fff;border:1px solid #bdc9be;padding:10px 18px;font-size:13px;font-weight:800}.vi-index-tabs button[aria-pressed=true]{color:#fff;background:#173d33;border-color:#173d33}.vi-index-tabs button:focus-visible{outline-offset:2px;outline:3px solid #e0ae3c}.vi-dashboard{grid-template-columns:1fr;gap:24px;width:100vw;margin-left:calc(50% - 50vw);display:grid}.vi-map-panel,.vi-summary-panel{background:#fff;border:1px solid #cbd4cb}.vi-map-panel{border-left:0;border-right:0}.vi-map-toolbar{justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.vi-map-toolbar strong,.vi-map-toolbar span{display:block}.vi-map-toolbar span{color:#66736d;font-size:12px}.vi-live-dot{letter-spacing:.12em;font-weight:900;color:#32704f!important;font-size:10px!important}.vi-course-map{aspect-ratio:16/9;background:#173d33;position:relative;overflow:hidden}.vi-index-map{object-fit:cover;width:100%;height:100%;transition:filter .25s;position:absolute;inset:0}.vi-index-ndvi{filter:none}.vi-index-gndvi{filter:hue-rotate(10deg)saturate(1.08)brightness(.97)}.vi-index-ndre{filter:hue-rotate(-9deg)saturate(1.16)contrast(1.07)}.vi-index-osavi{filter:sepia(.12)saturate(.92)contrast(1.04)}.vi-course-map:after{content:"";pointer-events:none;border:1px solid #ffffff61;position:absolute;inset:7%}.vi-map-label{color:#fff;z-index:2;background:#142b23e0;border-left:3px solid #f1c45b;padding:7px 9px;font-size:11px;font-weight:800;position:absolute}.vi-label-one{bottom:4%;left:48%}.vi-label-two{bottom:30%;right:22%}.vi-north{color:#173d33;z-index:2;background:#ffffffdb;padding:7px 9px;font-size:12px;font-weight:900;position:absolute;top:18px;right:18px}.vi-legend{text-transform:uppercase;align-items:center;gap:0;padding:14px 20px;font-size:11px;font-weight:800;display:flex}.vi-legend i{flex:1;height:10px}.vi-legend i:first-of-type{background:#b7663c;margin-left:12px}.vi-legend i:nth-of-type(2){background:#d7a645}.vi-legend i:nth-of-type(3){background:#c5ce65}.vi-legend i:nth-of-type(4){background:#70a457}.vi-legend i:nth-of-type(5){background:#27704b}.vi-legend i:nth-of-type(6){background:#154937;margin-right:12px}.vi-map-caption{color:#66736d;margin:0;padding:0 20px 14px;font-size:11px}.vi-summary-panel{justify-self:center;width:min(100% - 48px,900px);padding:28px}.vi-summary-panel h3{margin:0 0 12px;font-size:25px;line-height:1.2}.vi-summary-panel>p{color:#52605a}.vi-summary-panel code{background:#edf1e9;margin:20px 0;padding:10px 12px;font-size:12px;display:block}.vi-stats{grid-template-columns:1fr 1fr;margin:0;display:grid}.vi-stats div{border-top:1px solid #d5dbd5;padding:14px 0}.vi-stats div:nth-child(odd){padding-right:12px}.vi-stats dt{color:#67736d;text-transform:uppercase;font-size:11px;font-weight:800}.vi-stats dd{color:#173d33;margin:2px 0 0;font-size:24px;font-weight:900}.vi-disclaimer{border-left:4px solid #d6a83d;margin:22px 0 0;padding-left:12px;font-size:12px}.vi-priorities{color:#fff;background:#173d33;padding:clamp(68px,9vw,118px) clamp(24px,7vw,104px)}.vi-priorities .vi-section-heading>p{color:#c4d2cc}.vi-priority-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.vi-priority-grid article{color:#21342d;background:#fff;padding:26px;position:relative}.vi-priority-grid h3{margin:0 0 12px;font-size:22px;line-height:1.2}.vi-priority-grid article>p:not(.project-label){color:#56635d}.vi-priority-level{color:#17242c;letter-spacing:.1em;text-transform:uppercase;background:#d9aa3f;padding:6px 8px;font-size:10px;font-weight:900;position:absolute;top:0;right:0}.vi-priority-grid dl{border-top:1px solid #d4dbd5;grid-template-columns:1fr 1fr;margin:20px 0 0;padding-top:14px;display:grid}.vi-priority-grid dt{color:#69756f;text-transform:uppercase;font-size:10px;font-weight:800}.vi-priority-grid dd{margin:2px 0 0;font-size:14px;font-weight:900}.vi-method{background:#fff;padding:clamp(68px,9vw,118px) clamp(24px,8vw,120px)}.vi-method-intro{grid-template-columns:.55fr 1fr 1fr;gap:24px;margin-bottom:50px;display:grid}.vi-method-intro>p:last-child{color:#52605a;margin:0;font-size:18px}.vi-process{gap:0;margin:0;padding:0;list-style:none;display:grid}.vi-process li{border-top:1px solid #ccd5ce;grid-template-columns:60px 1fr;align-items:start;gap:24px;padding:22px 0;display:grid}.vi-process li>span{color:#32704f;letter-spacing:.1em;font-size:13px;font-weight:900}.vi-process h3{margin:0 0 4px;font-size:21px}.vi-process p{color:#56635d;max-width:780px;margin:0}.vi-index-guide{background:#bfcac1;border:1px solid #bfcac1;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:52px;display:grid}.vi-index-guide div{background:#edf1e9;padding:22px}.vi-index-guide h3{color:#173d33;margin:0 0 6px}.vi-index-guide p{color:#56635d;margin:0;font-size:13px}.vi-integrity-note{border-left:5px solid #32704f;max-width:960px;margin-top:36px;padding:8px 0 8px 20px}.vi-integrity-note p{color:#52605a;margin:4px 0 0}.vi-cta{color:#fff;background:#203039;padding:clamp(72px,9vw,124px) clamp(24px,12vw,180px)}.vi-cta h2{max-width:850px}.vi-cta>p:not(.section-number){color:#cad4d0;max-width:760px;font-size:18px}.vi-cta .button{margin-top:14px}.lst-page{background:#f5f2ea;min-height:100vh}.lst-header{background:#f5f2eaf2}.lst-hero{background:#e8e0d3;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:clamp(42px,7vw,100px);padding:clamp(72px,9vw,126px) clamp(24px,8vw,120px);display:grid}.lst-hero h1{max-width:980px;font-size:clamp(44px,6vw,82px)}.lst-hero h1 span{color:#9b4d37}.lst-badges{flex-wrap:wrap;gap:9px;margin-top:28px;display:flex}.lst-badges span{background:#ffffffb8;border:1px solid #cbbcae;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:800}.lst-snapshot{color:#fff;background:#273943;align-self:end;padding:28px}.lst-snapshot .field-note-label{color:#efb28d}.lst-snapshot dl{margin:0}.lst-snapshot dl div{border-top:1px solid #fff3;padding:11px 0}.lst-snapshot dt{color:#c8d2d6;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.lst-snapshot dd{margin:2px 0 0;font-weight:700}.lst-map-section{background:#fff;padding:clamp(68px,9vw,118px) clamp(24px,7vw,104px)}.lst-section-heading{justify-content:space-between;align-items:end;gap:48px;margin-bottom:36px;display:flex}.lst-section-heading>div{max-width:820px}.lst-section-heading>p{color:#536269;max-width:430px;margin:0}.lst-map-figure{background:#273943;border:1px solid #bcc6c7;margin:0;padding:1px}.lst-map-figure img{background:#fff;width:100%;height:auto;display:block}.lst-map-figure figcaption{color:#fff;letter-spacing:.08em;text-transform:uppercase;padding:11px 15px;font-size:12px;font-weight:800}.lst-reading{background:#f5f2ea;padding:clamp(68px,9vw,118px) clamp(24px,8vw,120px)}.lst-reading-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.lst-reading-grid article{background:#fff;border-top:5px solid #9b4d37;padding:26px}.lst-reading-grid article>span{color:#9b4d37;letter-spacing:.12em;font-size:12px;font-weight:900}.lst-reading-grid h3{margin:14px 0 10px;font-size:22px;line-height:1.2}.lst-reading-grid p{color:#536269;margin:0}.lst-framework{color:#fff;background:#273943;padding:clamp(68px,9vw,118px) clamp(24px,8vw,120px)}.lst-framework-intro{grid-template-columns:.5fr 1fr 1fr;gap:28px;margin-bottom:48px;display:grid}.lst-framework-intro>p:last-child{color:#cad4d7;margin:0;font-size:18px}.lst-process{margin:0;padding:0;list-style:none}.lst-process li{border-top:1px solid #ffffff3d;grid-template-columns:58px 1fr;align-items:start;gap:26px;padding:22px 0;display:grid}.lst-process li>span{color:#efb28d;letter-spacing:.1em;font-size:13px;font-weight:900}.lst-process h3{margin:0 0 5px;font-size:21px}.lst-process p{color:#c7d2d5;max-width:860px;margin:0}.lst-integrity-note{color:#273943;background:#fff;border-left:5px solid #d98663;max-width:1000px;margin-top:38px;padding:24px}.lst-integrity-note strong{color:#9b4d37;letter-spacing:.1em;text-transform:uppercase;font-size:12px}.lst-integrity-note p{margin:5px 0 0}.lst-cta{color:#fff;background:#9b4d37;padding:clamp(72px,9vw,124px) clamp(24px,12vw,180px)}.lst-cta h2{max-width:900px}.lst-cta>p:not(.section-number){color:#f1ddd3;max-width:780px;font-size:18px}.lst-cta .button{margin-top:14px}.oxygen-page{background:#eef3f1;min-height:100vh}.oxygen-header{background:#eef3f1f2}.oxygen-hero{background:#dce9e5;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:clamp(42px,7vw,100px);padding:clamp(72px,9vw,126px) clamp(24px,8vw,120px);display:grid}.oxygen-hero h1{max-width:980px;font-size:clamp(44px,6vw,82px)}.oxygen-hero h1 span{color:#2d796a}.oxygen-badges{flex-wrap:wrap;gap:9px;margin-top:28px;display:flex}.oxygen-badges span{background:#ffffffb8;border:1px solid #abc6bd;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:800}.oxygen-snapshot{color:#fff;background:#183c46;align-self:end;padding:28px}.oxygen-snapshot .field-note-label{color:#9ed7c8}.oxygen-snapshot dl{margin:0}.oxygen-snapshot dl div{border-top:1px solid #fff3;padding:11px 0}.oxygen-snapshot dt{color:#c7d7d9;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.oxygen-snapshot dd{margin:2px 0 0;font-weight:700}.oxygen-map-section,.oxygen-work{background:#fff;padding:clamp(68px,9vw,118px) clamp(24px,7vw,104px)}.oxygen-section-heading{justify-content:space-between;align-items:end;gap:48px;margin-bottom:36px;display:flex}.oxygen-section-heading>div{max-width:820px}.oxygen-section-heading>p{color:#536269;max-width:430px;margin:0}.oxygen-map-figure{background:#183c46;border:1px solid #b8c8c4;margin:0;padding:1px}.oxygen-map-figure img{background:#fff;width:100%;height:auto;display:block}.oxygen-map-figure figcaption{color:#fff;letter-spacing:.08em;text-transform:uppercase;padding:11px 15px;font-size:12px;font-weight:800}.oxygen-work{background:#eef3f1}.oxygen-process{margin:0;padding:0;list-style:none}.oxygen-process li{border-top:1px solid #bdcdc8;grid-template-columns:58px 1fr;align-items:start;gap:26px;padding:22px 0;display:grid}.oxygen-process li>span{color:#2d796a;letter-spacing:.1em;font-size:13px;font-weight:900}.oxygen-process h3{margin:0 0 5px;font-size:21px}.oxygen-process p{color:#536269;max-width:860px;margin:0}.oxygen-reading{color:#fff;background:#183c46;padding:clamp(68px,9vw,118px) clamp(24px,8vw,120px)}.oxygen-reading-intro{grid-template-columns:.5fr 1fr 1fr;gap:28px;margin-bottom:46px;display:grid}.oxygen-reading-intro>p:last-child{color:#c7d7d9;margin:0;font-size:18px}.oxygen-reading-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.oxygen-reading-grid article{color:var(--ink);background:#fff;border-top:5px solid #5aa88f;padding:25px}.oxygen-reading-grid h3{margin:0 0 10px;font-size:21px;line-height:1.2}.oxygen-reading-grid p{color:#536269;margin:0}.oxygen-integrity-note{color:#183c46;background:#e9f4ef;border-left:5px solid #2d796a;max-width:1020px;margin-top:36px;padding:24px}.oxygen-integrity-note strong{color:#2d796a;letter-spacing:.1em;text-transform:uppercase;font-size:12px}.oxygen-integrity-note p{margin:5px 0 0}.oxygen-cta{color:#fff;background:#2d796a;padding:clamp(72px,9vw,124px) clamp(24px,12vw,180px)}.oxygen-cta h2{max-width:900px}.oxygen-cta>p:not(.section-number){color:#d9eee8;max-width:780px;font-size:18px}.oxygen-cta .button{margin-top:14px}.brevard-page{background:#f2f1eb;min-height:100vh}.brevard-header{background:#f2f1ebf2}.brevard-hero{background:#dce8ea;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:clamp(42px,7vw,100px);padding:clamp(72px,9vw,126px) clamp(24px,8vw,120px);display:grid}.brevard-hero h1{max-width:980px;font-size:clamp(44px,6vw,82px)}.brevard-hero h1 span{color:#2c6f84}.brevard-badges{flex-wrap:wrap;gap:9px;margin-top:28px;display:flex}.brevard-badges span{background:#ffffffb8;border:1px solid #aec8cd;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:800}.brevard-snapshot{color:#fff;background:#173f52;align-self:end;padding:28px}.brevard-snapshot .field-note-label{color:#9cc9cd}.brevard-snapshot dl{margin:0}.brevard-snapshot dl div{border-top:1px solid #fff3;padding:11px 0}.brevard-snapshot dt{color:#c4d3d8;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.brevard-snapshot dd{margin:2px 0 0;font-weight:700}.brevard-maps,.brevard-methods{background:#fff;padding:clamp(68px,9vw,118px) clamp(24px,7vw,104px)}.brevard-section-heading{justify-content:space-between;align-items:end;gap:48px;margin-bottom:38px;display:flex}.brevard-section-heading>div{max-width:820px}.brevard-section-heading>p{color:#536269;max-width:430px;margin:0}.brevard-map-grid{background:#173f52;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:1px;display:grid}.brevard-map-grid figure{background:#fff;min-width:0;margin:0}.brevard-map-grid img{width:100%;height:auto;display:block}.brevard-map-grid figcaption{color:#fff;background:#173f52;flex-direction:column;padding:13px 16px;display:flex}.brevard-map-grid figcaption strong{letter-spacing:.09em;text-transform:uppercase;font-size:12px}.brevard-map-grid figcaption span{color:#c6d6da;font-size:12px}.brevard-methods{background:#f2f1eb}.brevard-method-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.brevard-method-grid article{background:#fff;border-top:5px solid #2c6f84;padding:26px}.brevard-method-grid article>span{color:#2c6f84;letter-spacing:.12em;font-size:12px;font-weight:900}.brevard-method-grid h3{margin:14px 0 10px;font-size:22px;line-height:1.2}.brevard-method-grid p{color:#536269;margin:0}.brevard-integrity{color:#fff;background:#173f52;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,8vw,110px);padding:clamp(68px,9vw,118px) clamp(24px,8vw,120px);display:grid}.brevard-integrity>div:last-child{font-size:18px}.brevard-integrity>div:last-child p{color:#c8d6da;border-top:1px solid #ffffff38;margin:0;padding:18px 0}.brevard-cta{color:#fff;background:#6c8467;padding:clamp(72px,9vw,124px) clamp(24px,12vw,180px)}.brevard-cta h2{max-width:900px}.brevard-cta>p:not(.section-number){color:#e0eadf;max-width:780px;font-size:18px}.brevard-cta .button{margin-top:14px}.python-page{background:#f1f4f2;min-height:100vh}.python-header{background:#f1f4f2f2}.python-hero{background:#dce7e7;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:clamp(42px,7vw,100px);padding:clamp(72px,9vw,126px) clamp(24px,8vw,120px);display:grid}.python-hero h1{max-width:1040px;font-size:clamp(44px,6vw,82px)}.python-hero h1 span{color:#2c6f84}.python-badges{flex-wrap:wrap;gap:9px;margin-top:28px;display:flex}.python-badges span{background:#ffffffbd;border:1px solid #aec6c8;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:800}.python-snapshot{color:#fff;background:#173f52;align-self:end;padding:28px}.python-snapshot .field-note-label{color:#9cc9cd}.python-snapshot dl{margin:0}.python-snapshot dl div{border-top:1px solid #fff3;padding:11px 0}.python-snapshot dt{color:#c4d3d8;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.python-snapshot dd{margin:2px 0 0;font-weight:700}.python-map-section,.python-results{background:#fff;padding:clamp(68px,9vw,118px) clamp(24px,7vw,104px)}.python-section-heading{justify-content:space-between;align-items:end;gap:48px;margin-bottom:36px;display:flex}.python-section-heading>div{max-width:840px}.python-section-heading>p{color:#536269;max-width:440px;margin:0}.python-map-figure{background:#173f52;border:1px solid #b9c7c8;margin:0;padding:1px}.python-map-figure img{background:#fff;width:100%;height:auto;display:block}.python-map-figure figcaption{color:#fff;letter-spacing:.08em;text-transform:uppercase;padding:11px 15px;font-size:12px;font-weight:800}.python-results{background:#f1f4f2}.python-result-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.python-result-grid article{background:#fff;border-top:5px solid #2c6f84;padding:25px}.python-result-grid article>span{color:#173f52;font-size:clamp(27px,3vw,40px);font-weight:900;line-height:1;display:block}.python-result-grid h3{margin:16px 0 9px;font-size:20px;line-height:1.2}.python-result-grid p{color:#536269;margin:0}.python-method{color:#fff;background:#173f52;padding:clamp(68px,9vw,118px) clamp(24px,8vw,120px)}.python-method-intro{grid-template-columns:.5fr 1fr 1fr;gap:28px;margin-bottom:48px;display:grid}.python-method-intro>p:last-child{color:#c8d6da;margin:0;font-size:18px}.python-process{margin:0;padding:0;list-style:none}.python-process li{border-top:1px solid #ffffff3b;grid-template-columns:58px 1fr;align-items:start;gap:26px;padding:20px 0;display:grid}.python-process li>span{color:#9cc9cd;letter-spacing:.1em;font-size:13px;font-weight:900}.python-process h3{margin:0 0 5px;font-size:21px}.python-process p{color:#c8d6da;max-width:880px;margin:0}.python-code-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:40px;display:grid}.python-code-grid article{background:#102f3e;border-top:4px solid #70a5ae;min-width:0;padding:22px}.python-code-grid article>p{color:#9cc9cd;letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px;font-size:11px;font-weight:900}.python-code-grid pre{margin:0;overflow:auto}.python-code-grid code{color:#eef5f3;font-family:Courier New,monospace;font-size:13px;line-height:1.55}.python-integrity{background:#fff;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,8vw,110px);padding:clamp(68px,9vw,118px) clamp(24px,8vw,120px);display:grid}.python-integrity>div:last-child p{color:#536269;border-top:1px solid #cad3d2;margin:0;padding:19px 0;font-size:17px}.python-integrity strong{color:#173f52}.python-cta{color:#fff;background:#2c6f84;padding:clamp(72px,9vw,124px) clamp(24px,12vw,180px)}.python-cta h2{max-width:900px}.python-cta>p:not(.section-number){color:#d7e8eb;max-width:850px;font-size:18px}.python-downloads{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.python-source-note{border-top:1px solid #ffffff47;margin-top:34px;padding-top:18px;font-size:12px!important}@media print{.site-header,.resume-note,footer{display:none}.resume-masthead,.resume-layout{padding:28px}.resume-layout{grid-template-columns:1.55fr .7fr;gap:30px}.resume-sidebar section{break-inside:avoid}}@media (max-width:900px){.hero,.intro,.about,.capabilities,.resume-layout,.vi-hero,.vi-dashboard,.vi-method-intro,.lst-hero,.lst-framework-intro,.oxygen-hero,.oxygen-reading-intro,.brevard-hero,.brevard-integrity,.python-hero,.python-method-intro,.python-integrity{grid-template-columns:1fr}.hero{min-height:auto}.field-note{align-self:auto;max-width:520px}.project-grid{grid-template-columns:1fr}.project-card{grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);display:grid}.project-card-featured{grid-template-columns:1fr}.project-preview,.map-preview{height:100%;min-height:240px}.vi-priority-grid{grid-template-columns:1fr}.vi-index-guide{grid-template-columns:1fr 1fr}.lst-reading-grid,.oxygen-reading-grid,.brevard-method-grid{grid-template-columns:1fr}.python-result-grid{grid-template-columns:1fr 1fr}}@media (max-width:620px){.site-header{align-items:flex-start;gap:14px}nav{text-align:right;flex-direction:column;gap:2px}.project-card{display:block}.project-gallery{grid-template-columns:1fr}.project-preview,.map-preview{height:190px;min-height:0}.section-heading,.vi-section-heading,.lst-section-heading,.oxygen-section-heading,.brevard-section-heading,.python-section-heading{flex-direction:column;align-items:flex-start}footer{flex-direction:column;align-items:flex-start;gap:8px}.resume-entry-heading{flex-direction:column;gap:4px}.resume-contact{flex-direction:column;gap:2px}.resume-contact span{display:none}.vi-course-map{min-height:360px}.vi-legend span{display:none}.vi-legend i:first-of-type{margin-left:0}.vi-legend i:last-of-type{margin-right:0}.vi-index-guide,.brevard-map-grid,.python-result-grid,.python-code-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}:is(.button:hover,.button:focus-visible){transform:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
