html{scroll-behavior:smooth}:root{--bg-main:#050505;--bg-secondary:#0b0b0b;--bg-elevated:#111;--surface:#ffffff0a;--surface-soft:#ffffff06;--surface-hover:#fff1;--surface-hover-soft:#ffffff09;--border:#ffffff1f;--border-strong:#ffffff3d;--border-faint:#ffffff08;--border-hover:#ffffff14;--text-main:#fff;--text-soft:#d1d1d1;--text-muted:#8d8d8d;--button-bg:#fff;--button-text:#000;--button-shadow:#2d2d2d;--dark-button-bg:#0d0d0d;--dark-button-hover:#161616;--chip-bg:#0d0d0d;--chip-hover:#151515;--grid-line:#ffffff05;--grid-line-strong:#ffffff09;--scan-line:#ffffff05;--timeline-line:#ffffff2e;--shadow-lg:0 24px 70px #00000073;--shadow-md:0 14px 34px #00000057;--hover-shadow:8px 8px 0 #ffffff0f;--small-hover-shadow:4px 4px 0 #ffffff0d;--radius-lg:0px;--radius-md:0px;--max-width:1220px;--font-main:"Inter", Arial, sans-serif;--font-pixel:"Silkscreen", monospace;--poster-overlay-solid:#050505;--poster-overlay-heavy:#050505f5;--poster-overlay-mid:#050505b8;--poster-overlay-soft:#05050559;--poster-overlay-faint:#05050514;--poster-image-filter:grayscale(100%) contrast(1.08) brightness(.72)}:root[data-theme=light]{--bg-main:#f6f6f3;--bg-secondary:#fff;--bg-elevated:#eeeeea;--surface:#0000000a;--surface-soft:#00000005;--surface-hover:#0001;--surface-hover-soft:#00000009;--border:#0000001f;--border-strong:#00000047;--border-faint:#0000000a;--border-hover:#0000001a;--text-main:#050505;--text-soft:#303030;--text-muted:#6b6b6b;--button-bg:#050505;--button-text:#fff;--button-shadow:#00000040;--dark-button-bg:#fff;--dark-button-hover:#eeeeea;--chip-bg:#fff;--chip-hover:#eeeeea;--grid-line:#00000009;--grid-line-strong:#0000000d;--scan-line:#00000006;--timeline-line:#0000002e;--shadow-lg:0 24px 70px #00000029;--shadow-md:0 14px 34px #0000001a;--hover-shadow:8px 8px 0 #00000014;--small-hover-shadow:4px 4px 0 #00000014;--poster-overlay-solid:#f6f6f3;--poster-overlay-heavy:#f6f6f3eb;--poster-overlay-mid:#f6f6f375;--poster-overlay-soft:#f6f6f329;--poster-overlay-faint:#f6f6f305;--poster-image-filter:grayscale(100%) contrast(1.08) brightness(.82)}:root[data-theme=terminal]{--bg-main:#020804;--bg-secondary:#06130a;--bg-elevated:#0b1d10;--surface:#39ff880f;--surface-soft:#39ff8806;--surface-hover:#39ff881c;--surface-hover-soft:#39ff880b;--border:#39ff882e;--border-strong:#39ff886b;--border-faint:#39ff880f;--border-hover:#39ff8838;--text-main:#d7ffe5;--text-soft:#a7d8b7;--text-muted:#6fa87f;--button-bg:#39ff88;--button-text:#020804;--button-shadow:#39ff8840;--dark-button-bg:#07150b;--dark-button-hover:#0d2414;--chip-bg:#07150b;--chip-hover:#0d2414;--grid-line:#39ff880a;--grid-line-strong:#39ff8814;--scan-line:#39ff8809;--timeline-line:#39ff8838;--shadow-lg:0 24px 70px #00000073;--shadow-md:0 14px 34px #00000047;--hover-shadow:8px 8px 0 #39ff881f;--small-hover-shadow:4px 4px 0 #39ff881f;--poster-overlay-solid:#020804;--poster-overlay-heavy:#020804f5;--poster-overlay-mid:#020804b8;--poster-overlay-soft:#02080461;--poster-overlay-faint:#02080414;--poster-image-filter:grayscale(100%) contrast(1.1) brightness(.74) sepia(20%) hue-rotate(80deg)}:root[data-theme=purple]{--bg-main:#090512;--bg-secondary:#120a24;--bg-elevated:#1a1033;--surface:#a855f714;--surface-soft:#a855f709;--surface-hover:#a855f724;--surface-hover-soft:#a855f70f;--border:#c4b5fd2e;--border-strong:#d8b4fe73;--border-faint:#c4b5fd0f;--border-hover:#d8b4fe3d;--text-main:#f5edff;--text-soft:#d8c7ff;--text-muted:#a78bfa;--button-bg:#a855f7;--button-text:#fff;--button-shadow:#a855f759;--dark-button-bg:#160d2b;--dark-button-hover:#241244;--chip-bg:#160d2b;--chip-hover:#241244;--grid-line:#a855f70b;--grid-line-strong:#d8b4fe14;--scan-line:#a855f709;--timeline-line:#d8b4fe3d;--shadow-lg:0 24px 70px #581c8759;--shadow-md:0 14px 34px #581c8742;--hover-shadow:8px 8px 0 #a855f729;--small-hover-shadow:4px 4px 0 #a855f729;--poster-overlay-solid:#090512;--poster-overlay-heavy:#090512f5;--poster-overlay-mid:#090512bd;--poster-overlay-soft:#09051266;--poster-overlay-faint:#09051214;--poster-image-filter:grayscale(100%) contrast(1.08) brightness(.76) sepia(16%) hue-rotate(230deg)}body{font-family:var(--font-main);color:var(--text-main);background:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px), linear-gradient(180deg, var(--bg-main) 0%, var(--bg-secondary) 100%);background-size:24px 24px,24px 24px,cover;background-attachment:fixed;margin:0}body:before{content:"";pointer-events:none;background:repeating-linear-gradient(to bottom, var(--scan-line) 0px, var(--scan-line) 1px, transparent 2px, transparent 4px);opacity:.18;mix-blend-mode:soft-light;position:fixed;inset:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.portfolio{min-height:100vh;padding:0 0 88px}.page-shell{width:min(var(--max-width), calc(100% - 48px));margin:0 auto}body,body:before,.site-header,.poster-frame,.poster-label,.poster-availability-line,.info-strip-item,.project-card,.stack-group-card,.timeline-content,.about-panel,.contact-card,.leadership-card,.stack-pill,.stack-badge,.btn,.nav-cta,.theme-toggle,.project-action-btn,.timeline:before,.timeline-marker{transition:background .7s cubic-bezier(.22,1,.36,1),color .7s cubic-bezier(.22,1,.36,1),border-color .7s cubic-bezier(.22,1,.36,1),box-shadow .7s cubic-bezier(.22,1,.36,1),filter .7s cubic-bezier(.22,1,.36,1)}html:before{content:"";z-index:9998;pointer-events:none;background:radial-gradient(circle at var(--theme-x,90%) var(--theme-y,40%), var(--text-main) 0%, transparent 62%);opacity:0;position:fixed;inset:0;transform:scale(0)}html.theme-changing:before{animation:.75s cubic-bezier(.76,0,.24,1) themeFlash}html.theme-changing body{animation:.65s steps(2,end) themeGlitchBody}html.theme-changing .portfolio,html.theme-changing .site-header{animation:.65s steps(2,end) themeGlitchShift}html.theme-changing:after{content:"";z-index:9999;pointer-events:none;background:repeating-linear-gradient(to bottom, transparent 0px, transparent 3px, var(--border-strong) 4px, transparent 5px);opacity:0;animation:.65s steps(2,end) themeScanGlitch;position:fixed;inset:0}.intro-screen{z-index:9999;background:var(--bg-main);place-items:center;animation:.9s cubic-bezier(.76,0,.24,1) 3.1s forwards introScreenOut;display:grid;position:fixed;inset:0;overflow:hidden}.intro-screen:before{content:"";background:linear-gradient(var(--grid-line-strong) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line-strong) 1px, transparent 1px);opacity:0;background-size:26px 26px;animation:1s forwards introGridIn;position:absolute;inset:0}.intro-screen:after{content:"";background:repeating-linear-gradient(to bottom, var(--border) 0px, var(--border) 1px, transparent 2px, transparent 6px);opacity:.08;pointer-events:none;position:absolute;inset:0}.intro-content{z-index:2;text-align:center;width:min(920px,100% - 40px);position:relative}.intro-eyebrow{color:var(--text-muted);font-family:var(--font-pixel);text-transform:uppercase;letter-spacing:.18em;opacity:0;margin:0 0 22px;font-size:.72rem;animation:.8s .25s forwards introEyebrowIn}.intro-title{max-width:14ch;color:var(--text-main);text-align:center;letter-spacing:-.08em;text-transform:uppercase;margin:0 auto;font-size:clamp(3.4rem,8.5vw,8rem);line-height:.88;position:relative;overflow:hidden}.intro-title span{color:var(--text-muted);display:block}.intro-title-main,.intro-title-sub{animation:.9s cubic-bezier(.76,0,.24,1) forwards introTitleReveal;display:block;transform:translateY(110%)}.intro-title-main{animation-delay:.55s}.intro-title-sub{animation-delay:.78s}.intro-title .intro-title-sub{color:var(--text-main)}.intro-title:before,.intro-title:after{content:attr(data-text);opacity:0;pointer-events:none;position:absolute;inset:0}.intro-title:before{color:var(--text-soft);animation:.55s steps(2,end) 1.65s forwards introGlitchOne;transform:translate(-3px)}.intro-title:after{color:var(--text-muted);animation:.55s steps(2,end) 1.65s forwards introGlitchTwo;transform:translate(3px)}.intro-line{background:var(--border-strong);width:0;height:1px;margin:34px auto 0;animation:1.2s cubic-bezier(.76,0,.24,1) 1.25s forwards introLine}.intro-loader{color:var(--text-muted);font-family:var(--font-pixel);letter-spacing:.16em;text-transform:uppercase;opacity:0;margin-top:18px;font-size:.68rem;animation:.8s 1.55s forwards introLoader}.intro-progress{border:1px solid var(--border-strong);opacity:0;width:min(320px,70%);height:4px;margin:20px auto 0;padding:1px;animation:.8s 1.65s forwards introLoader}.intro-progress span{background:var(--text-main);width:0%;height:100%;animation:1.4s cubic-bezier(.76,0,.24,1) 1.8s forwards introProgressFill;display:block}.site-hidden{opacity:0;visibility:hidden}.site-visible{opacity:1;visibility:visible;animation:1.1s cubic-bezier(.22,1,.36,1) forwards siteReveal}.intro-corner{opacity:0;width:72px;height:72px;animation:.7s .35s forwards introCornerIn;position:absolute}.intro-corner:before,.intro-corner:after{content:"";background:var(--border-strong);position:absolute}.intro-corner:before{width:100%;height:1px}.intro-corner:after{width:1px;height:100%}.intro-corner-top-left{top:32px;left:32px}.intro-corner-top-left:before,.intro-corner-top-left:after{top:0;left:0}.intro-corner-top-right{top:32px;right:32px}.intro-corner-top-right:before,.intro-corner-top-right:after{top:0;right:0}.intro-corner-bottom-left{bottom:32px;left:32px}.intro-corner-bottom-left:before,.intro-corner-bottom-left:after{bottom:0;left:0}.intro-corner-bottom-right{bottom:32px;right:32px}.intro-corner-bottom-right:before,.intro-corner-bottom-right:after{bottom:0;right:0}.site-header{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb, var(--bg-main) 85%, transparent);border-bottom:1px solid var(--border);position:sticky;top:0}.site-header-inner{width:min(var(--max-width), calc(100% - 48px));justify-content:space-between;align-items:center;gap:24px;min-height:78px;margin:0 auto;display:flex}.site-logo{font-family:var(--font-pixel);letter-spacing:.04em;text-transform:uppercase;font-size:1.2rem;font-weight:700}.site-logo span{color:var(--text-muted)}.site-nav{align-items:center;gap:24px;display:flex}.site-nav a{color:var(--text-soft);font-family:var(--font-pixel);text-transform:uppercase;font-size:.9rem;transition:color .25s}.site-nav a:hover{color:var(--text-main)}.nav-actions{align-items:center;gap:12px;display:flex}.nav-cta,.theme-toggle{border:1px solid var(--border-strong);background:var(--button-bg);min-height:44px;color:var(--button-text);font-family:var(--font-pixel);text-transform:uppercase;box-shadow:4px 4px 0 var(--button-shadow);justify-content:center;align-items:center;font-size:.9rem;display:inline-flex}.nav-cta{padding:0 1rem}.theme-toggle{cursor:pointer;width:82px;padding:0;transition:transform .2s,background .25s,color .25s,box-shadow .25s}.theme-toggle:hover,.nav-cta:hover{transform:translate(-2px,-2px)}.eyebrow,.section-label,.project-index,.timeline-period{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-family:var(--font-pixel);margin:0 0 16px}.section-heading p,.about-text p,.about-point p,.site-footer p,.stack-group-head p,.timeline-description,.timeline-highlights{color:var(--text-soft);font-size:1rem;line-height:1.8}.poster-hero{padding:clamp(22px,4dvh,36px) 0 0}.poster-frame{border:1px solid var(--border);background:linear-gradient(180deg, var(--surface), var(--surface-soft));height:clamp(520px,100dvh - 190px,600px);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.poster-frame:before{content:"";z-index:5;border:1px solid var(--border-faint);pointer-events:none;position:absolute;inset:16px}.poster-image-wrap{z-index:1;position:absolute;inset:0;overflow:hidden}.poster-image{object-fit:cover;object-position:center 18%;width:68%;height:100%;filter:var(--poster-image-filter);position:absolute;top:0;right:0;transform:scale(1.03)}.poster-overlay{z-index:2;pointer-events:none;background:linear-gradient(90deg, var(--poster-overlay-solid) 0%, var(--poster-overlay-solid) 24%, var(--poster-overlay-heavy) 33%, var(--poster-overlay-heavy) 41%, var(--poster-overlay-mid) 49%, var(--poster-overlay-soft) 60%, var(--poster-overlay-faint) 76%, transparent 100%), linear-gradient(180deg, var(--poster-overlay-faint) 0%, transparent 44%, var(--poster-overlay-mid) 100%);position:absolute;inset:0}.poster-content{z-index:6;align-items:center;width:54%;height:100%;padding:clamp(32px,5vw,58px);display:flex;position:relative}.poster-copy{max-width:560px}.poster-label{border:1px solid var(--border);background:var(--chip-bg);width:fit-content;color:var(--text-soft);font-family:var(--font-pixel);text-transform:uppercase;margin:0 0 20px;padding:.52rem .72rem;font-size:.68rem}.poster-title{color:var(--text-main);letter-spacing:-.08em;text-transform:uppercase;margin:0;font-size:clamp(4rem,7vw,7.2rem);line-height:.83}.poster-title span{display:block}.poster-subtitle{color:var(--text-muted);font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;margin:22px 0 0;font-size:.74rem}.poster-text{max-width:38ch;color:var(--text-soft);margin:18px 0 0;font-size:clamp(1rem,1.1vw,1.12rem);line-height:1.7}.poster-actions{flex-wrap:wrap;gap:14px;margin-top:30px;display:flex}.poster-availability-line{border:1px solid var(--border-strong);background:color-mix(in srgb, var(--chip-bg) 92%, transparent);width:fit-content;color:var(--text-main);font-family:var(--font-pixel);letter-spacing:.045em;text-transform:uppercase;box-shadow:4px 4px 0 var(--button-shadow);align-items:center;gap:11px;margin:28px 0 0;padding:.72rem .95rem;font-size:.76rem;display:inline-flex}.status-dot{background:var(--text-main);flex:none;width:10px;height:10px;animation:1.2s ease-in-out infinite pulseDot}.poster-availability-line .status-dot{width:9px;height:9px}.btn{border:1px solid var(--border-strong);min-height:52px;font-family:var(--font-pixel);text-transform:uppercase;justify-content:center;align-items:center;padding:.95rem 1.35rem;font-size:.9rem;transition:transform .2s,background .25s,color .25s,box-shadow .25s;display:inline-flex}.btn:hover{transform:translate(-2px,-2px)}.btn-primary,.project-action-primary{background:var(--button-bg);color:var(--button-text);box-shadow:4px 4px 0 var(--button-shadow)}.btn-secondary,.project-action-secondary{background:var(--dark-button-bg);color:var(--text-main);box-shadow:4px 4px 0 var(--button-shadow)}.btn-secondary:hover,.project-action-secondary:hover{background:var(--dark-button-hover)}.stats-section,.projects-section,.stack-section,.timeline-section,.leadership-section,.about-section,.contact-section{padding-top:96px}.section-heading{max-width:760px;margin-bottom:32px}.section-heading h2{letter-spacing:-.04em;text-transform:uppercase;margin:0 0 12px;font-size:clamp(2rem,4vw,3.2rem);line-height:1.04}.info-strip-item,.project-card,.stack-group-card,.timeline-content,.about-panel,.contact-card,.leadership-card{border:1px solid var(--border);background:linear-gradient(180deg, var(--surface), var(--surface-soft));box-shadow:var(--shadow-md);transition:transform .25s,border-color .25s,background .25s,box-shadow .25s;position:relative;overflow:hidden}.info-strip-item:before,.project-card:before,.stack-group-card:before,.timeline-content:before,.about-panel:before,.contact-card:before,.leadership-card:before{content:"";border:1px solid var(--border-faint);pointer-events:none;transition:border-color .25s;position:absolute;inset:0}.info-strip-item:hover,.project-card:hover,.stack-group-card:hover,.timeline-content:hover,.about-panel:hover,.contact-card:hover,.leadership-card:hover{border-color:var(--border-strong);background:linear-gradient(180deg, var(--surface-hover), var(--surface-hover-soft));box-shadow:var(--hover-shadow);transform:translate(-4px,-4px)}.info-strip-item:hover:before,.project-card:hover:before,.stack-group-card:hover:before,.timeline-content:hover:before,.about-panel:hover:before,.contact-card:hover:before,.leadership-card:hover:before{border-color:var(--border-hover)}.info-strip{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.info-strip-item{padding:28px 24px}.info-strip-value{color:var(--text-main);margin-bottom:6px;font-size:clamp(1.7rem,3vw,2.3rem);font-weight:800;display:block}.info-strip-label{color:var(--text-muted);font-family:var(--font-pixel);text-transform:uppercase;font-size:.9rem}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.project-card{flex-direction:column;justify-content:space-between;min-height:320px;padding:28px;display:flex}.project-card-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.mini-subtitle{text-align:right;color:var(--text-muted);font-size:.78rem;font-family:var(--font-pixel);text-transform:uppercase}.project-card-body{margin-top:18px}.project-card h3{letter-spacing:-.03em;text-transform:uppercase;margin:0 0 12px;font-size:1.5rem;line-height:1.15}.project-card p{color:var(--text-soft);margin:0;line-height:1.75}.project-card-footer{margin-top:28px}.project-actions{flex-wrap:wrap;gap:12px;display:flex}.project-action-btn{border:1px solid var(--border-strong);min-height:48px;font-weight:800;font-family:var(--font-pixel);letter-spacing:.02em;text-transform:uppercase;justify-content:center;align-items:center;gap:10px;padding:.85rem 1.15rem;font-size:.76rem;transition:transform .2s,background .25s,color .25s,box-shadow .25s;display:inline-flex}.project-action-btn:hover{transform:translate(-2px,-2px)}.project-action-icon{justify-content:center;align-items:center;line-height:1;display:inline-flex}.project-action-icon svg{width:1.05rem;height:1.05rem}.text-link{color:var(--text-main);font-family:var(--font-pixel);text-transform:uppercase;align-items:center;gap:8px;font-size:.68rem;transition:opacity .25s,transform .25s;display:inline-flex}.text-link:hover{opacity:.72;transform:translate(2px)}.text-link-disabled{color:var(--text-muted);cursor:default}.stack-list,.stack-group-items{flex-wrap:wrap;gap:10px;display:flex}.stack-list{margin-top:24px}.stack-group-items{margin-top:22px}.stack-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.stack-group-card{padding:26px}.stack-group-head h3{text-transform:uppercase;margin:0 0 10px;font-size:1.2rem}.stack-pill,.stack-badge{background:var(--chip-bg);border:1px solid var(--border);color:var(--text-main);font-family:var(--font-pixel);text-transform:uppercase;border-radius:0;align-items:center;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s,color .2s;display:inline-flex}.stack-pill{white-space:nowrap;gap:8px;min-height:34px;padding:.58rem .78rem;font-size:.68rem;line-height:1}.stack-badge{gap:10px;padding:.68rem .95rem;font-size:.72rem}.stack-pill:hover,.stack-badge:hover{background:var(--chip-hover);border-color:var(--border-strong);box-shadow:var(--small-hover-shadow);transform:translate(-2px,-2px)}.stack-pill-icon{width:16px;height:16px;color:var(--text-muted);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.stack-pill-icon svg{width:15px;height:15px;display:block}.stack-badge-icon{color:var(--text-muted);justify-content:center;align-items:center;font-size:.9rem;line-height:1;display:inline-flex}.timeline{gap:28px;display:grid;position:relative}.timeline:before{content:"";background:var(--timeline-line);width:1px;position:absolute;top:10px;bottom:10px;left:18px}.timeline-item{grid-template-columns:38px 1fr;align-items:start;gap:22px;display:grid;position:relative}.timeline-marker{z-index:2;background:var(--text-main);width:14px;height:14px;box-shadow:0 0 0 4px var(--bg-secondary);margin-top:8px;position:relative}.timeline-content{padding:26px}.timeline-content h3{text-transform:uppercase;margin:0 0 6px;font-size:1.3rem;line-height:1.15}.timeline-subtitle{color:var(--text-muted);margin:0 0 14px;font-weight:600}.timeline-highlights{margin:18px 0 0;padding-left:18px}.timeline-highlights li{margin-bottom:10px;line-height:1.7}.leadership-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.leadership-card{padding:26px}.leadership-period{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-family:var(--font-pixel);margin:0 0 12px}.leadership-card h3{text-transform:uppercase;margin:0 0 8px;font-size:1.3rem;line-height:1.15}.leadership-role{color:var(--text-muted);margin:0 0 14px;font-weight:600}.leadership-description{color:var(--text-soft);margin:0;font-size:1rem;line-height:1.8}.about-grid{grid-template-columns:1.08fr .92fr;align-items:start;gap:24px;display:grid}.about-text,.about-points{gap:20px;display:grid}.about-panel{padding:24px}.about-point h3{font-size:1.05rem;font-family:var(--font-pixel);text-transform:uppercase;margin:0 0 10px}.contact-heading-wide{max-width:760px;margin-bottom:32px}.contact-heading-wide h2{letter-spacing:-.04em;max-width:760px;font-size:clamp(2rem,4vw,3.2rem);line-height:1.04}.contact-heading-wide p{max-width:760px}.contact-showcase{border:1px solid var(--border);background:linear-gradient(180deg, var(--surface), var(--surface-soft));box-shadow:var(--shadow-md);grid-template-columns:minmax(280px,.9fr) minmax(0,2fr);gap:24px;padding:28px;display:grid}.contact-intro-box{flex-direction:column;justify-content:center;display:flex}.contact-availability{border:1px solid var(--border);background:var(--chip-bg);width:fit-content;color:var(--text-main);font-family:var(--font-pixel);text-transform:uppercase;align-items:center;gap:10px;margin-bottom:18px;padding:.55rem .8rem;font-size:.72rem;display:inline-flex}.contact-intro-box h3{max-width:15ch;color:var(--text-main);letter-spacing:-.03em;text-transform:uppercase;margin:0;font-size:1.3rem;line-height:1.25}.contact-divider{background:var(--border);width:100%;height:1px;margin:22px 0}.contact-intro-box p{max-width:38ch;color:var(--text-soft);margin:0;font-size:1rem;line-height:1.75}.contact-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.contact-mini-card{border:1px solid var(--border);background:linear-gradient(180deg, var(--surface), var(--surface-soft));min-height:220px;box-shadow:var(--shadow-md);padding:24px;transition:transform .25s,border-color .25s,background .25s,box-shadow .25s;position:relative;overflow:hidden}.contact-mini-card:before{content:"";border:1px solid var(--border-faint);pointer-events:none;transition:border-color .25s;position:absolute;inset:0}.contact-mini-card:hover{border-color:var(--border-strong);background:linear-gradient(180deg, var(--surface-hover), var(--surface-hover-soft));box-shadow:var(--hover-shadow);transform:translate(-4px,-4px)}.contact-mini-card:hover:before{border-color:var(--border-hover)}.contact-corner{border-top:1px solid var(--text-muted);border-right:1px solid var(--text-muted);width:12px;height:12px;position:absolute;top:14px;right:14px}.contact-icon{min-height:54px;color:var(--text-main);font-family:var(--font-pixel);opacity:.95;justify-content:flex-start;align-items:center;margin-bottom:24px;font-size:2rem;line-height:1;display:flex}.contact-icon svg{width:2rem;height:2rem}.contact-mini-card strong{color:var(--text-main);font-family:var(--font-pixel);letter-spacing:.03em;text-transform:uppercase;margin-bottom:12px;font-size:.92rem;display:block}.contact-mini-card p{color:var(--text-soft);margin:0;font-size:.95rem;line-height:1.7}.contact-mini-card p:after{content:"";background:var(--border);width:100%;height:1px;margin-top:20px;display:block}.contact-arrow{color:var(--text-main);justify-content:center;align-items:center;line-height:1;display:inline-flex;position:absolute;bottom:22px;left:24px}.contact-arrow svg{stroke-width:2.2px;width:1.15rem;height:1.15rem}.contact-response-strip{border:1px solid var(--border);background:linear-gradient(180deg, var(--surface), var(--surface-soft));min-height:72px;box-shadow:var(--shadow-md);justify-content:center;align-items:center;gap:28px;margin-top:18px;display:flex}.contact-response-strip span{background:var(--border);width:1px;height:26px}.contact-response-strip p{color:var(--text-soft);margin:0;font-size:1rem}.site-footer{text-align:center;padding-top:72px}.site-footer p{color:var(--text-muted);font-size:.85rem;font-family:var(--font-pixel);text-transform:uppercase;margin:0}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(28px)}.reveal-visible{opacity:1;transform:translateY(0)}@keyframes themeFlash{0%{opacity:.22;transform:scale(0)}45%{opacity:.12;transform:scale(2.5)}to{opacity:0;transform:scale(4)}}@keyframes themeGlitchBody{0%{filter:none}18%{filter:contrast(1.25)brightness(1.08)}32%{filter:contrast(1.45)brightness(1.18)saturate(1.4)}48%{filter:contrast(1.15)}to{filter:none}}@keyframes themeGlitchShift{0%,to{transform:translate(0)}16%{transform:translate(-4px,2px)}28%{transform:translate(5px,-2px)}42%{transform:translate(-2px,-1px)}56%{transform:translate(3px,1px)}}@keyframes themeScanGlitch{0%,to{opacity:0;clip-path:inset(0)}18%{opacity:.18;clip-path:inset(10% 0 72%)}34%{opacity:.25;clip-path:inset(62% 0 18%)}50%{opacity:.16;clip-path:inset(35% 0 42%)}68%{opacity:.22;clip-path:inset(78% 0 5%)}}@keyframes introGridIn{0%{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes introEyebrowIn{0%{opacity:0;filter:blur(6px);transform:translateY(14px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes introTitleReveal{0%{filter:blur(8px);transform:translateY(110%)}to{filter:blur();transform:translateY(0)}}@keyframes introGlitchOne{0%,to{opacity:0;clip-path:inset(0)}15%{opacity:.6;clip-path:inset(12% 0 68%)}35%{opacity:.35;clip-path:inset(62% 0 18%)}55%{opacity:.5;clip-path:inset(34% 0 42%)}75%{opacity:.25;clip-path:inset(78% 0 5%)}}@keyframes introGlitchTwo{0%,to{opacity:0;clip-path:inset(0)}20%{opacity:.45;clip-path:inset(70% 0 10%)}40%{opacity:.25;clip-path:inset(8% 0 76%)}60%{opacity:.4;clip-path:inset(45% 0 35%)}80%{opacity:.3;clip-path:inset(18% 0 58%)}}@keyframes introLine{0%{opacity:0;width:0}35%{opacity:1}to{opacity:.75;width:min(520px,70%)}}@keyframes introLoader{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes introScreenOut{0%{clip-path:inset(0);opacity:1}to{clip-path:inset(0 0 100%);opacity:1;visibility:hidden;pointer-events:none}}@keyframes siteReveal{0%{opacity:0;filter:blur(12px);transform:translateY(34px)scale(.985)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes introCornerIn{0%{opacity:0;filter:blur(6px);transform:scale(.86)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes introProgressFill{0%{width:0%}65%{width:78%}to{width:100%}}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.35}}html,body{max-width:100%;overflow-x:hidden}img,svg,video{max-width:100%;height:auto}.poster-image{max-width:none}@media (width<=1100px){.projects-grid,.stack-groups,.about-grid,.leadership-grid{grid-template-columns:1fr}.poster-frame{grid-template-rows:auto minmax(280px,1fr);height:auto;min-height:720px;display:grid}.poster-content{grid-row:1;align-items:flex-start;width:100%;height:auto;min-height:0;padding:clamp(28px,5vw,52px);position:relative}.poster-copy{max-width:680px}.poster-image-wrap{grid-row:2;width:100%;height:clamp(320px,48vw,430px);position:relative;inset:auto;overflow:hidden}.poster-image{object-fit:cover;object-position:center 18%;width:100%;height:100%;position:absolute;inset:0;transform:none}.poster-overlay{background:linear-gradient(180deg, var(--poster-overlay-solid) 0%, var(--poster-overlay-heavy) 16%, var(--poster-overlay-mid) 42%, var(--poster-overlay-soft) 70%, transparent 100%)}.contact-showcase{grid-template-columns:1fr}.contact-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.site-nav{display:none}.site-header-inner{min-height:70px}.nav-actions{gap:8px}.theme-toggle{width:70px;min-height:40px;padding:0;font-size:.72rem}.nav-cta{min-height:40px;padding:0 .75rem;font-size:.72rem}}@media (width<=760px){.portfolio{padding:0 0 56px}.page-shell,.site-header-inner{width:calc(100% - 24px)}.poster-hero{padding-top:16px}.poster-frame{min-height:unset;grid-template-rows:auto auto}.poster-frame:before{inset:10px}.poster-content{padding:24px 20px 22px}.poster-copy{max-width:100%}.poster-label{font-size:.6rem}.poster-title{letter-spacing:-.075em;overflow-wrap:anywhere;font-size:clamp(3rem,16vw,4.8rem);line-height:.88}.poster-subtitle{font-size:.64rem}.poster-text{max-width:100%;font-size:.95rem;line-height:1.65}.poster-actions{flex-direction:column;align-items:stretch;gap:12px;margin-top:24px}.poster-availability-line{justify-content:center;width:100%;margin-top:22px;font-size:.68rem}.poster-image-wrap{height:clamp(300px,82vw,420px)}.poster-image{object-position:center top}.poster-overlay{background:linear-gradient(180deg, var(--poster-overlay-solid) 0%, var(--poster-overlay-heavy) 10%, var(--poster-overlay-soft) 34%, transparent 74%)}.btn{width:100%}.info-strip,.projects-grid,.stack-groups,.leadership-grid{grid-template-columns:1fr}.info-strip-item,.project-card,.stack-group-card,.timeline-content,.about-panel,.contact-card,.leadership-card{padding:20px}.timeline-item{grid-template-columns:28px 1fr;gap:14px}.timeline:before{left:13px}.timeline-marker{width:12px;height:12px}.stats-section,.projects-section,.stack-section,.timeline-section,.leadership-section,.about-section,.contact-section{padding-top:72px}.contact-showcase{padding:20px}.contact-card-grid{grid-template-columns:1fr}.contact-mini-card{min-height:190px;padding:20px}.contact-response-strip{text-align:center;padding:18px}}@media (width<=420px){.page-shell,.site-header-inner{width:calc(100% - 20px)}.poster-content{padding:22px 16px 20px}.poster-title{font-size:clamp(2.65rem,15.5vw,4rem)}.poster-subtitle{line-height:1.45}.poster-availability-line{text-align:center;padding:.7rem .75rem;font-size:.6rem;line-height:1.4}.poster-image-wrap{height:clamp(260px,86vw,360px)}}@media (width<=900px) and (orientation:landscape){.poster-frame{grid-template-rows:auto;grid-template-columns:1fr .9fr;min-height:460px}.poster-content{grid-area:1/1;align-items:center;min-height:460px;display:flex}.poster-image-wrap{grid-area:1/2;height:auto;min-height:460px}.poster-image{object-position:center center}.poster-overlay{background:linear-gradient(90deg, var(--poster-overlay-solid) 0%, var(--poster-overlay-heavy) 18%, var(--poster-overlay-mid) 48%, transparent 100%)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,:before,:after{transition-duration:.01ms!important}.reveal,.site-visible,html.theme-changing body,html.theme-changing .portfolio,html.theme-changing .site-header,html.theme-changing:before,html.theme-changing:after{animation-duration:.01ms!important;animation-iteration-count:1!important}.intro-progress span{animation:1.4s cubic-bezier(.76,0,.24,1) 1.8s forwards introProgressFill!important}.intro-screen{animation:.9s cubic-bezier(.76,0,.24,1) 3.1s forwards introScreenOut!important}}@media (width<=760px){.intro-progress{width:min(280px,78vw);height:5px}.intro-progress span{will-change:width;min-width:0}}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{margin:0}#root{min-height:100vh}
