:root{--color-ivory: #F5F2EA;--color-ivory-muted: #EBE6DA;--color-ivory-subtle: rgba(245, 242, 234, .88);--color-charcoal: #222522;--color-charcoal-muted: rgba(34, 37, 34, .72);--color-charcoal-subtle: rgba(34, 37, 34, .16);--color-charcoal-faint: rgba(34, 37, 34, .06);--color-olive: #B5C96B;--color-olive-tint: rgba(181, 201, 107, .22);--color-olive-border: rgba(181, 201, 107, .65);--font-heading: "Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "IBM Plex Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.35rem;--text-2xl: clamp(1.5rem, 2.5vw, 2.25rem);--text-3xl: clamp(2rem, 3.8vw, 3.25rem);--text-4xl: clamp(2.5rem, 5.2vw, 4.75rem);--text-display: clamp(2.85rem, 6.8vw, 6.25rem);--container-max: 1380px;--gutter: clamp(1.25rem, 4vw, 3.5rem);--section-py: clamp(5rem, 10vw, 8.5rem);--border-thin: 1px solid var(--color-charcoal);--border-Subtle: 1px solid var(--color-charcoal-subtle);--border-thick: 2px solid var(--color-charcoal);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--transition-fast: .18s var(--ease-out-expo);--transition-base: .35s var(--ease-out-expo)}@keyframes pulseOlive{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.55}}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes scanlineMove{0%{transform:translateY(-100%)}to{transform:translateY(400%)}}.status-dot-pulse{position:relative;display:inline-block;width:9px;height:9px;background-color:var(--color-olive);border:1.5px solid var(--color-charcoal);border-radius:50%}.status-dot-pulse:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:1.5px solid var(--color-olive);animation:pulseOlive 2.4s infinite ease-in-out}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.status-dot-pulse:after{animation:none!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--color-ivory);color:var(--color-charcoal);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;selection-background-color:var(--color-olive)}::selection{background-color:var(--color-olive);color:var(--color-charcoal)}body{background-color:var(--color-ivory);color:var(--color-charcoal);overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(to right,rgba(34,37,34,.035) 1px,transparent 1px),linear-gradient(to bottom,rgba(34,37,34,.035) 1px,transparent 1px);background-size:72px 72px}a{color:inherit;text-decoration:none}button{font-family:inherit;color:inherit;background:none;border:none;cursor:pointer}ul,ol{list-style:none}:focus-visible{outline:2px solid var(--color-charcoal);outline-offset:3px;background-color:var(--color-olive-tint)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);position:relative;z-index:1}.mono-label{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;font-weight:500}.section-index-bar{display:flex;align-items:center;justify-content:space-between;padding-bottom:1.25rem;margin-bottom:clamp(2.5rem,5vw,4rem);border-bottom:var(--border-thin);gap:1rem;flex-wrap:wrap}.section-index-left{display:flex;align-items:center;gap:.85rem}.index-badge{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;padding:.2rem .55rem;background-color:var(--color-olive);color:var(--color-charcoal);border:1px solid var(--color-charcoal);letter-spacing:.08em}.index-badge--dark{background-color:var(--color-olive);color:var(--color-charcoal);border-color:var(--color-olive)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.09em;padding:.9rem 1.45rem;border:var(--border-thin);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast);position:relative;white-space:nowrap}.btn-primary{background-color:var(--color-olive);color:var(--color-charcoal);box-shadow:4px 4px 0 var(--color-charcoal)}.btn-primary:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--color-charcoal)}.btn-primary:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--color-charcoal)}.btn-secondary{background-color:var(--color-ivory);color:var(--color-charcoal);box-shadow:4px 4px 0 var(--color-charcoal)}.btn-secondary:hover{background-color:var(--color-charcoal);color:var(--color-ivory);transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--color-olive)}.btn-dark-surface{background-color:transparent;color:var(--color-ivory);border:1px solid var(--color-ivory);box-shadow:4px 4px 0 var(--color-olive)}.btn-dark-surface:hover{background-color:var(--color-olive);color:var(--color-charcoal);border-color:var(--color-olive);transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--color-ivory)}.scroll-progress-track{position:fixed;top:0;left:0;right:0;height:3px;background-color:#2225221f;z-index:1000}.scroll-progress-bar{height:100%;background-color:var(--color-olive);transform-origin:0%;border-right:2px solid var(--color-charcoal)}.custom-cursor-ring{position:fixed;top:0;left:0;width:32px;height:32px;border:1.5px solid var(--color-charcoal);background-color:#b5c96b2e;pointer-events:none;z-index:9999;display:flex;align-items:center;justify-content:center;transition:width .2s ease,height .2s ease,background-color .2s ease,border-radius .2s ease}.custom-cursor-ring.is-hovered{width:64px;height:64px;background-color:var(--color-olive);border-color:var(--color-charcoal);mix-blend-mode:normal}.custom-cursor-label{font-family:var(--font-mono);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-charcoal)}@media (hover: none),(pointer: coarse),(max-width: 900px){.custom-cursor-ring{display:none!important}}.navbar-wrapper{position:sticky;top:0;z-index:900;background-color:#f5f2eaf0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:var(--border-thin);transition:background-color var(--transition-base)}.navbar-inner{display:flex;align-items:center;justify-content:space-between;min-height:74px;gap:1.5rem}.brand-monogram{display:inline-flex;align-items:center;gap:.75rem;font-family:var(--font-heading);font-weight:700;color:var(--color-charcoal)}.monogram-box{width:40px;height:40px;display:grid;place-items:center;background-color:var(--color-charcoal);color:var(--color-ivory);font-family:var(--font-heading);font-size:1.05rem;font-weight:700;letter-spacing:-.03em;border:1px solid var(--color-charcoal);box-shadow:3px 3px 0 var(--color-olive);transition:transform var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.brand-monogram:hover .monogram-box{background-color:var(--color-olive);color:var(--color-charcoal);box-shadow:3px 3px 0 var(--color-charcoal);transform:translate(-1px,-1px)}.brand-meta{display:flex;flex-direction:column;line-height:1.15}.brand-meta-name{font-size:.85rem;font-weight:700;letter-spacing:-.01em}.brand-meta-role{font-family:var(--font-mono);font-size:.68rem;color:var(--color-charcoal-muted)}.nav-links-desktop{display:flex;align-items:center;gap:.25rem;border:1px solid var(--color-charcoal);background-color:var(--color-ivory);padding:.25rem}.nav-item-btn{position:relative;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;padding:.45rem .85rem;color:var(--color-charcoal);transition:color var(--transition-fast);z-index:1}.nav-item-btn.is-active{font-weight:600}.nav-active-pill{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--color-olive);border:1px solid var(--color-charcoal);z-index:-1}.nav-actions{display:flex;align-items:center;gap:.75rem}.nav-cv-btn{padding:.55rem 1rem;font-size:.72rem}.mobile-menu-toggle{display:none;width:42px;height:42px;border:var(--border-thin);background-color:var(--color-ivory);align-items:center;justify-content:center;box-shadow:2px 2px 0 var(--color-charcoal)}.mobile-nav-drawer{border-top:var(--border-thin);background-color:var(--color-ivory);padding:1.5rem var(--gutter)}.mobile-nav-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.mobile-nav-link{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border:var(--border-thin);font-family:var(--font-mono);font-size:var(--text-sm);text-transform:uppercase;background-color:var(--color-ivory)}.mobile-nav-link.is-active{background-color:var(--color-olive);font-weight:600}.hero-section{padding-top:clamp(2rem,4.5vw,4rem);padding-bottom:var(--section-py);border-bottom:var(--border-thick);position:relative}.hero-telemetry-bar{display:grid;grid-template-columns:repeat(4,1fr);border:var(--border-thin);background-color:var(--color-ivory);margin-bottom:clamp(2rem,4vw,3.5rem)}.telemetry-cell{padding:.85rem 1.15rem;border-right:var(--border-thin);display:flex;flex-direction:column;gap:.25rem}.telemetry-cell:last-child{border-right:none}.telemetry-label{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-charcoal-muted)}.telemetry-value{font-family:var(--font-mono);font-size:.82rem;font-weight:600;display:flex;align-items:center;gap:.55rem}.hero-main-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(2rem,4vw,3.5rem);align-items:stretch}.hero-editorial-col{display:flex;flex-direction:column;justify-content:space-between}.hero-identity-tag{display:inline-flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.4rem .85rem;border:var(--border-thin);background-color:var(--color-charcoal);color:var(--color-ivory);width:fit-content}.hero-identity-tag span.accent{color:var(--color-olive);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600}.hero-name-kicker{font-family:var(--font-heading);font-size:clamp(1.1rem,2vw,1.5rem);font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.85rem;display:flex;align-items:center;gap:.75rem}.hero-name-kicker:before{content:"";display:inline-block;width:28px;height:10px;background-color:var(--color-olive);border:1px solid var(--color-charcoal)}.hero-headline{font-family:var(--font-heading);font-size:var(--text-display);font-weight:700;line-height:.98;letter-spacing:-.035em;margin-bottom:1.75rem;color:var(--color-charcoal)}.hero-headline-highlight{display:inline-block;background-color:var(--color-olive);padding:0 .22em;border:1.5px solid var(--color-charcoal);box-shadow:4px 4px 0 var(--color-charcoal);margin:.06em 0}.hero-supporting-wrap{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;padding-top:1.5rem;border-top:var(--border-thin);margin-bottom:2.25rem;max-width:680px}.hero-supporting-index{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;padding:.25rem .5rem;border:var(--border-thin);height:fit-content;background-color:var(--color-ivory-muted)}.hero-supporting-text{font-size:clamp(1.05rem,1.4vw,1.22rem);line-height:1.6;color:var(--color-charcoal);font-weight:400}.hero-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.hero-schematic-card{border:var(--border-thin);background-color:var(--color-charcoal);color:var(--color-ivory);padding:1.75rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;box-shadow:8px 8px 0 var(--color-olive)}.schematic-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid rgba(245,242,234,.2);margin-bottom:1.5rem}.schematic-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(245,242,234,.3);margin-bottom:1.5rem}.schematic-tab-btn{padding:.55rem .75rem;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;color:var(--color-ivory);border-right:1px solid rgba(245,242,234,.3);transition:background-color var(--transition-fast),color var(--transition-fast)}.schematic-tab-btn:last-child{border-right:none}.schematic-tab-btn.is-active{background-color:var(--color-olive);color:var(--color-charcoal);font-weight:600}.schematic-diagram-box{border:1px solid rgba(245,242,234,.22);padding:1.25rem;background-color:#f5f2ea08;margin-bottom:1.5rem}.schematic-node-list{display:flex;flex-direction:column;gap:.85rem}.schematic-node{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding-bottom:.75rem;border-bottom:1px dashed rgba(245,242,234,.2)}.schematic-node:last-child{border-bottom:none;padding-bottom:0}.schematic-node-key{font-family:var(--font-mono);font-size:.73rem;color:var(--color-olive)}.schematic-node-val{font-family:var(--font-body);font-size:.85rem;text-align:right;color:var(--color-ivory)}.schematic-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid rgba(245,242,234,.2);font-family:var(--font-mono);font-size:.72rem;color:var(--color-olive)}.about-section{padding:var(--section-py) 0;border-bottom:var(--border-thick)}.about-editorial-layout{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:start}.about-sidebar-dossier{border:var(--border-thin);background-color:var(--color-ivory);box-shadow:6px 6px 0 var(--color-charcoal)}.dossier-title-bar{background-color:var(--color-charcoal);color:var(--color-ivory);padding:.85rem 1.25rem;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:var(--text-xs)}.dossier-grid{display:grid;grid-template-columns:1fr}.dossier-row{padding:1.15rem 1.25rem;border-bottom:var(--border-thin);display:flex;flex-direction:column;gap:.3rem}.dossier-row:last-child{border-bottom:none}.dossier-key{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-charcoal-muted)}.dossier-val{font-family:var(--font-heading);font-size:1.1rem;font-weight:700}.dossier-gpa-badge{display:inline-flex;align-items:baseline;gap:.5rem;background-color:var(--color-olive);border:var(--border-thin);padding:.35rem .75rem;font-family:var(--font-heading);font-size:1.5rem;font-weight:700;width:fit-content;margin-top:.25rem}.about-narrative-col{display:flex;flex-direction:column;gap:2rem}.about-lead-statement{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;line-height:1.22;letter-spacing:-.02em}.about-lead-statement mark{background-color:var(--color-olive);color:var(--color-charcoal);padding:0 .25em;border:1px solid var(--color-charcoal)}.about-body-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem;padding-top:1.5rem;border-top:var(--border-thin)}.about-paragraph{font-size:1.02rem;line-height:1.72;color:var(--color-charcoal)}.about-pillars-strip{display:grid;grid-template-columns:repeat(3,1fr);border:var(--border-thin);background-color:var(--color-ivory-muted)}.about-pillar-cell{padding:1.25rem;border-right:var(--border-thin)}.about-pillar-cell:last-child{border-right:none}.about-pillar-num{font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--color-charcoal);background-color:var(--color-olive);border:1px solid var(--color-charcoal);padding:.1rem .45rem;display:inline-block;margin-bottom:.65rem}.about-pillar-title{font-family:var(--font-heading);font-size:1rem;font-weight:700;margin-bottom:.35rem}.about-pillar-desc{font-size:.86rem;color:var(--color-charcoal-muted);line-height:1.5}.projects-section{padding:var(--section-py) 0;border-bottom:var(--border-thick)}.projects-intro-row{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:clamp(3rem,6vw,4.5rem);flex-wrap:wrap}.projects-heading{font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:700;line-height:1.02;letter-spacing:-.03em}.projects-authenticity-note{max-width:420px;font-family:var(--font-mono);font-size:.76rem;padding:.85rem 1rem;border:var(--border-thin);background-color:var(--color-ivory-muted);line-height:1.5}.projects-showcase-stack{display:flex;flex-direction:column;gap:clamp(3rem,6vw,5rem)}.project-feature-item{border:var(--border-thin);background-color:var(--color-ivory);transition:box-shadow var(--transition-base),transform var(--transition-base);position:relative}.project-feature-item:hover{box-shadow:8px 8px 0 var(--color-charcoal)}.project-top-meta{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:var(--border-thin);background-color:var(--color-charcoal);color:var(--color-ivory);font-family:var(--font-mono);font-size:.75rem}.project-top-meta-right{display:flex;align-items:center;gap:1rem}.project-body-split{display:grid;grid-template-columns:7fr 5fr}.project-body-split.is-reversed{grid-template-columns:5fr 7fr}.project-body-full{display:grid;grid-template-columns:1fr 1.15fr}.project-preview-stage{padding:clamp(1.5rem,3vw,2.5rem);background-color:var(--color-ivory-muted);border-right:var(--border-thin);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;min-height:340px}.project-body-split.is-reversed .project-preview-stage{order:2;border-right:none;border-left:var(--border-thin)}.placeholder-schematic-frame{border:var(--border-thin);background-color:var(--color-ivory);padding:1.25rem;box-shadow:4px 4px 0 var(--color-charcoal);display:flex;flex-direction:column;gap:1rem;flex:1}.placeholder-banner-badge{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;font-family:var(--font-mono);font-size:.68rem;padding:.3rem .65rem;background-color:var(--color-olive);color:var(--color-charcoal);border:1px solid var(--color-charcoal);font-weight:600}.wireframe-canvas{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.65rem;padding:.75rem;border:1px dashed var(--color-charcoal);background-color:#22252205}.wireframe-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border:1px solid var(--color-charcoal);background-color:var(--color-ivory);font-family:var(--font-mono);font-size:.72rem}.project-info-panel{padding:clamp(1.75rem,3.5vw,2.75rem);display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem}.project-title{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:700;line-height:1.05;letter-spacing:-.02em;margin-bottom:.85rem}.project-description{font-size:1.02rem;line-height:1.65;color:var(--color-charcoal);margin-bottom:1.25rem}.project-tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-tag{font-family:var(--font-mono);font-size:.74rem;font-weight:500;padding:.3rem .65rem;border:var(--border-thin);background-color:var(--color-ivory)}.tech-tag--highlight{background-color:var(--color-olive);font-weight:600}.project-actions-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding-top:1.25rem;border-top:var(--border-thin)}.project-links-group{display:flex;flex-wrap:wrap;gap:.65rem}.placeholder-link-pill{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.72rem;padding:.5rem .85rem;border:1px dashed var(--color-charcoal);background-color:var(--color-ivory-muted);color:var(--color-charcoal)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#222522c7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1.25rem}.modal-window{width:100%;max-width:820px;max-height:90vh;overflow-y:auto;background-color:var(--color-ivory);border:2px solid var(--color-charcoal);box-shadow:12px 12px 0 var(--color-olive)}.modal-header{background-color:var(--color-charcoal);color:var(--color-ivory);padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;border-bottom:var(--border-thin);position:sticky;top:0;z-index:2}.modal-close-btn{width:36px;height:36px;background-color:var(--color-olive);color:var(--color-charcoal);border:1px solid var(--color-charcoal);display:grid;place-items:center;font-weight:700}.modal-content{padding:clamp(1.5rem,3.5vw,2.5rem);display:flex;flex-direction:column;gap:1.75rem}.modal-spec-grid{display:grid;grid-template-columns:1fr 1fr;border:var(--border-thin)}.modal-spec-cell{padding:1rem 1.25rem;border-right:var(--border-thin);border-bottom:var(--border-thin)}.modal-spec-cell:nth-child(2n){border-right:none}.modal-feature-list{display:flex;flex-direction:column;gap:.65rem}.modal-feature-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;border:var(--border-thin);background-color:var(--color-ivory-muted);font-size:.95rem}.experience-section{padding:var(--section-py) 0;background-color:var(--color-charcoal);color:var(--color-ivory);border-bottom:var(--border-thick)}.experience-section .section-index-bar{border-bottom-color:#f5f2ea40}.experience-header-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:end;margin-bottom:clamp(3rem,5vw,4.5rem)}.experience-title{font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:700;line-height:1.02;letter-spacing:-.03em;color:var(--color-ivory)}.experience-controls{display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.timeline-ledger{position:relative;border-top:1px solid rgba(245,242,234,.25)}.timeline-item{border-bottom:1px solid rgba(245,242,234,.25);transition:background-color var(--transition-fast)}.timeline-item.is-open{background-color:#f5f2ea0a}.timeline-trigger{width:100%;text-align:left;padding:1.65rem 1rem;display:grid;grid-template-columns:90px 1.2fr 1fr 1fr 48px;align-items:center;gap:1.25rem;color:var(--color-ivory)}.timeline-trigger:hover{background-color:#b5c96b14}.timeline-index-node{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.78rem;color:var(--color-olive)}.node-marker{width:10px;height:10px;border:1.5px solid var(--color-olive);background-color:transparent;transition:background-color var(--transition-fast),transform var(--transition-fast)}.timeline-item.is-open .node-marker{background-color:var(--color-olive);transform:rotate(45deg)}.timeline-company{font-family:var(--font-heading);font-size:clamp(1.2rem,2vw,1.55rem);font-weight:700}.timeline-role-badge{font-family:var(--font-mono);font-size:.8rem;padding:.3rem .7rem;border:1px solid rgba(245,242,234,.35);width:fit-content}.timeline-item.is-open .timeline-role-badge{background-color:var(--color-olive);color:var(--color-charcoal);border-color:var(--color-olive);font-weight:600}.timeline-period-loc{font-family:var(--font-mono);font-size:.78rem;color:#f5f2eac7;display:flex;flex-direction:column;gap:.15rem}.timeline-toggle-icon{width:36px;height:36px;border:1px solid rgba(245,242,234,.35);display:grid;place-items:center;justify-self:end;color:var(--color-olive)}.timeline-details-panel{overflow:hidden}.timeline-details-inner{padding:0 1rem 2rem 102px;display:grid;grid-template-columns:1.5fr 1fr;gap:2rem}.responsibility-list{display:flex;flex-direction:column;gap:.65rem}.responsibility-item{display:flex;align-items:flex-start;gap:.75rem;font-size:.98rem;color:var(--color-ivory);line-height:1.55}.responsibility-bullet{font-family:var(--font-mono);font-size:.75rem;color:var(--color-olive);margin-top:.2rem}.experience-context-box{border:1px solid rgba(181,201,107,.45);background-color:#b5c96b12;padding:1.15rem;height:fit-content}.skills-section{padding:var(--section-py) 0;border-bottom:var(--border-thick)}.skills-filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem}.skill-filter-btn{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;padding:.55rem 1rem;border:var(--border-thin);background-color:var(--color-ivory);transition:all var(--transition-fast)}.skill-filter-btn.is-active{background-color:var(--color-olive);color:var(--color-charcoal);font-weight:600;box-shadow:3px 3px 0 var(--color-charcoal)}.skills-bento-matrix{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem}.skill-category-block{border:var(--border-thin);background-color:var(--color-ivory);display:flex;flex-direction:column;justify-content:space-between;box-shadow:5px 5px 0 var(--color-charcoal)}.skill-category-block.span-7{grid-column:span 7}.skill-category-block.span-5{grid-column:span 5}.skill-category-block.span-4{grid-column:span 4}.skill-block-header{padding:1rem 1.35rem;border-bottom:var(--border-thin);background-color:var(--color-ivory-muted);display:flex;align-items:center;justify-content:space-between}.skill-block-title{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.skill-block-body{padding:1.5rem 1.35rem;display:flex;flex-wrap:wrap;gap:.75rem;align-content:flex-start;flex:1}.skill-node-pill{display:inline-flex;align-items:center;gap:.55rem;padding:.65rem 1rem;border:var(--border-thin);background-color:var(--color-ivory);font-family:var(--font-heading);font-weight:600;font-size:.95rem;transition:transform var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast)}.skill-node-pill:hover{background-color:var(--color-olive);transform:translate(-2px,-2px);box-shadow:3px 3px 0 var(--color-charcoal)}.skill-node-code{font-family:var(--font-mono);font-size:.68rem;color:var(--color-charcoal-muted)}.skill-block-footer{padding:.75rem 1.35rem;border-top:var(--border-thin);font-family:var(--font-mono);font-size:.72rem;color:var(--color-charcoal-muted);display:flex;justify-content:space-between}.education-section{padding:var(--section-py) 0;border-bottom:var(--border-thick)}.education-editorial-grid{display:grid;grid-template-columns:1fr 1fr;border:var(--border-thin);background-color:var(--color-ivory);box-shadow:8px 8px 0 var(--color-charcoal)}.edu-card-column{padding:clamp(1.75rem,3.5vw,3rem);border-right:var(--border-thin);display:flex;flex-direction:column;justify-content:space-between;gap:2rem}.edu-card-column:last-child{border-right:none}.edu-period-tag{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.75rem;font-weight:600;padding:.3rem .75rem;border:var(--border-thin);background-color:var(--color-olive);width:fit-content;margin-bottom:1.25rem}.edu-institution{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;line-height:1.15;margin-bottom:.5rem}.edu-degree{font-size:1.1rem;font-weight:500;color:var(--color-charcoal);margin-bottom:1.25rem}.edu-gpa-highlight{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border:var(--border-thin);background-color:var(--color-charcoal);color:var(--color-ivory)}.edu-gpa-number{font-family:var(--font-heading);font-size:1.65rem;font-weight:700;color:var(--color-olive)}.training-strip{margin-top:2.5rem;border:var(--border-thin);background-color:var(--color-ivory-muted);padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem}.training-badges{display:flex;flex-wrap:wrap;gap:1rem}.training-cert-item{display:flex;align-items:center;gap:.75rem;padding:.65rem 1.15rem;border:var(--border-thin);background-color:var(--color-ivory);box-shadow:3px 3px 0 var(--color-charcoal)}.contact-section{padding:var(--section-py) 0;background-color:var(--color-ivory)}.contact-brutalist-frame{border:2px solid var(--color-charcoal);background-color:var(--color-ivory);box-shadow:10px 10px 0 var(--color-charcoal)}.contact-top-banner{background-color:var(--color-charcoal);color:var(--color-ivory);padding:1rem 1.75rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.contact-main-body{padding:clamp(2rem,5vw,4rem);display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,4vw,4rem);align-items:start}.contact-headline{font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:700;line-height:1.02;letter-spacing:-.03em;margin-bottom:1.25rem}.contact-email-box{margin-top:2rem;padding:1.25rem;border:var(--border-thin);background-color:var(--color-ivory-muted);display:flex;flex-direction:column;gap:1rem}.contact-email-address{font-family:var(--font-mono);font-size:clamp(1rem,2vw,1.35rem);font-weight:600;word-break:break-all}.contact-directory-card{border:var(--border-thin);background-color:var(--color-ivory)}.contact-dir-row{padding:1.15rem 1.35rem;border-bottom:var(--border-thin);display:flex;align-items:center;justify-content:space-between;gap:1rem;transition:background-color var(--transition-fast)}.contact-dir-row:last-child{border-bottom:none}.contact-dir-row:hover{background-color:var(--color-olive-tint)}.contact-closing-bar{border-top:var(--border-thin);padding:1.5rem clamp(2rem,5vw,4rem);background-color:var(--color-olive);color:var(--color-charcoal);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.closing-quote{font-family:var(--font-heading);font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:700}.site-footer{background-color:var(--color-charcoal);color:var(--color-ivory);padding:2.5rem 0;border-top:var(--border-thick)}.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem}@media (max-width: 1024px){.hero-main-grid,.about-editorial-layout,.project-body-split,.project-body-split.is-reversed,.project-body-full,.experience-header-grid,.contact-main-body{grid-template-columns:1fr}.project-preview-stage,.project-body-split.is-reversed .project-preview-stage{order:1;border-right:none;border-left:none;border-bottom:var(--border-thin)}.project-info-panel{order:2}.timeline-trigger{grid-template-columns:70px 1fr auto}.timeline-role-badge,.timeline-period-loc{grid-column:2 / 3}.timeline-details-inner{padding-left:1rem;grid-template-columns:1fr}.skill-category-block.span-7,.skill-category-block.span-5,.skill-category-block.span-4{grid-column:span 6}}@media (max-width: 820px){.nav-links-desktop,.nav-cv-btn{display:none}.mobile-menu-toggle{display:inline-flex}.hero-telemetry-bar{grid-template-columns:1fr 1fr}.telemetry-cell:nth-child(2){border-right:none}.telemetry-cell:nth-child(1),.telemetry-cell:nth-child(2){border-bottom:var(--border-thin)}.about-body-columns,.about-pillars-strip,.education-editorial-grid,.modal-spec-grid{grid-template-columns:1fr}.about-pillar-cell,.edu-card-column,.modal-spec-cell{border-right:none;border-bottom:var(--border-thin)}.about-pillar-cell:last-child,.edu-card-column:last-child{border-bottom:none}.skill-category-block.span-7,.skill-category-block.span-5,.skill-category-block.span-4{grid-column:span 12}}@media (max-width: 520px){.hero-telemetry-bar{grid-template-columns:1fr}.telemetry-cell{border-right:none!important;border-bottom:var(--border-thin)}.telemetry-cell:last-child{border-bottom:none}.hero-cta-row .btn{width:100%}}.hero-portrait-frame{border:1px solid var(--color-olive);background-color:var(--color-ivory);color:var(--color-charcoal)}.hero-portrait-topbar{display:flex;align-items:center;justify-content:space-between;padding:.45rem .75rem;background-color:var(--color-olive);border-bottom:1px solid var(--color-charcoal)}.portrait-switch-btn{font-family:var(--font-mono);font-size:.66rem;font-weight:700;padding:.18rem .5rem;background-color:var(--color-charcoal);color:var(--color-ivory);border:1px solid var(--color-charcoal);transition:background-color var(--transition-fast),color var(--transition-fast)}.portrait-switch-btn:hover{background-color:var(--color-ivory);color:var(--color-charcoal)}.hero-portrait-img-wrap{position:relative;width:100%;height:225px;overflow:hidden;background-color:var(--color-charcoal)}.hero-portrait-img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block;filter:contrast(1.06) saturate(.92);transition:transform .55s var(--ease-out-expo),filter .35s ease}.hero-portrait-img-wrap:hover .hero-portrait-img{transform:scale(1.03);filter:contrast(1.04) saturate(1.05)}.portrait-corner-tag{position:absolute;bottom:.6rem;right:.6rem;font-family:var(--font-mono);font-size:.65rem;font-weight:600;padding:.2rem .5rem;background-color:#222522e0;color:var(--color-olive);border:1px solid var(--color-olive)}.dossier-portrait-block{border-bottom:var(--border-thin);background-color:var(--color-ivory-muted)}.dossier-portrait-img-container{position:relative;width:100%;height:310px;overflow:hidden;border-bottom:var(--border-thin);background-color:var(--color-charcoal)}.dossier-portrait-img{width:100%;height:100%;object-fit:cover;object-position:center 16%;display:block;filter:grayscale(18%) contrast(1.06);transition:filter .4s ease,transform .55s var(--ease-out-expo)}.dossier-portrait-img-container:hover .dossier-portrait-img{filter:grayscale(0%) contrast(1.03);transform:scale(1.025)}.dossier-portrait-overlay-badge{position:absolute;bottom:.75rem;left:.75rem;font-family:var(--font-mono);font-size:.68rem;font-weight:600;padding:.25rem .6rem;background-color:var(--color-charcoal);color:var(--color-olive);border:1px solid var(--color-olive)}.dossier-photo-controls{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1.25rem;background-color:var(--color-ivory-muted);flex-wrap:wrap;gap:.5rem}.dossier-photo-tab{font-family:var(--font-mono);font-size:.68rem;font-weight:600;padding:.25rem .6rem;border:var(--border-thin);background-color:var(--color-ivory);color:var(--color-charcoal);transition:background-color var(--transition-fast)}.dossier-photo-tab.is-active{background-color:var(--color-olive);font-weight:700}
