*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--body);font:400 var(--body-size)/1.65 var(--font-body);-webkit-font-smoothing:antialiased;margin:0}body:has(.dialog-backdrop){overflow:hidden}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}::selection{background:var(--accent);color:#fff}[data-parallax]{transform:translate3d(0, var(--parallax-y,0), 0);will-change:transform}[data-section-reveal].reveal-pending{clip-path:inset(0 0 7%);opacity:0;transition:none}[data-section-reveal].is-revealed{clip-path:inset(0);opacity:1;transition:clip-path 1s cubic-bezier(.22,1,.36,1),opacity .72s ease-out}.site-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:color-mix(in srgb, var(--background) 88%, transparent);border-bottom:1px solid var(--border);min-height:78px;padding:0 max(28px, calc((100vw - var(--container)) / 2));z-index:40;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:sticky;top:0}.wordmark{color:var(--heading);font:700 15px/1 var(--font-primary);letter-spacing:.12em;justify-self:start}.wordmark span{color:var(--accent)}.site-header nav{gap:28px;display:flex}.site-header nav a,.header-resume{font:600 var(--nav-size)/1 var(--font-primary);letter-spacing:.05em}.site-header nav a:hover{color:var(--accent)}.header-resume{border-bottom:1px solid var(--heading);color:var(--heading);justify-self:end;padding:8px 0}.scroll-progress{background:color-mix(in srgb, var(--border) 55%, transparent);pointer-events:none;width:100%;height:3px;position:absolute;bottom:-1px;left:0;overflow:hidden}.scroll-progress span{background:var(--accent);height:100%;transform:scaleX(var(--scroll-progress,0));transform-origin:0;will-change:transform;width:100%;display:block}.hero{max-width:var(--container);grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:clamp(48px,8vw,130px);min-height:calc(100svh - 78px);margin:0 auto;padding:clamp(72px,10vw,150px) 28px 80px;display:grid}.hero-copy{align-self:center}.eyebrow,.meta,.private-label{color:var(--accent);font:700 12px/1.4 var(--font-primary);letter-spacing:.14em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{color:var(--heading);font:600 clamp(var(--hero-heading-min), 8.3vw, var(--hero-heading-max))/.83 var(--font-heading);letter-spacing:-.045em;max-width:920px;margin:22px 0 28px}.positioning{color:var(--heading);font:600 clamp(17px, 1.8vw, 24px)/1.35 var(--font-primary);max-width:800px}.hero-intro{max-width:760px;font-size:clamp(17px,1.5vw,21px)}.hero-actions{flex-wrap:wrap;gap:12px;margin:38px 0 54px;display:flex}.primary-button,.outline-button{border:1px solid var(--button-bg);border-radius:var(--radius);cursor:pointer;font:700 var(--button-size)/1 var(--font-primary);letter-spacing:.06em;justify-content:center;align-items:center;min-height:48px;padding:0 22px;display:inline-flex}.primary-button{background:var(--button-bg);color:var(--button-text)}.outline-button{color:var(--heading);background:0 0}.primary-button:hover,.outline-button:hover{background:var(--accent);border-color:var(--accent);color:#fff}.hero-facts{gap:clamp(22px,5vw,72px);margin:0;display:flex}.hero-facts div{border-left:1px solid var(--border);padding-left:16px}.hero-facts dt{text-transform:uppercase;font-size:12px}.hero-facts dd{color:var(--heading);font:600 17px/1.4 var(--font-primary);margin:5px 0 0}.portrait-frame{background:var(--surface);border:1px solid var(--border);align-self:center;padding:16px;position:relative}.portrait-frame:before{background:var(--accent);content:"";width:42%;height:4px;position:absolute;top:-1px;left:-1px}.portrait-frame img{aspect-ratio:4/5;filter:saturate(.75)contrast(1.03);object-fit:cover;object-position:center 38%;width:100%;height:auto}.section{border-top:1px solid var(--border);max-width:var(--container);padding:var(--section-space) 28px;grid-template-columns:minmax(150px,.24fr) minmax(0,1fr);gap:48px;margin:0 auto;display:grid}.section-label{align-self:start;gap:18px;padding-top:13px;display:flex;position:sticky;top:100px}.section-label span{color:var(--accent);font:700 11px/1 var(--font-primary)}.section-label p{color:var(--heading);font:700 12px/1 var(--font-primary);letter-spacing:.1em;text-transform:uppercase}.section-content h2,.contact-section h2,.project-dialog h2{color:var(--heading);font:600 clamp(var(--section-heading-min), 5vw, var(--section-heading-max))/.95 var(--font-heading);letter-spacing:-.035em;max-width:1000px;margin-bottom:50px}.lead{color:var(--heading);max-width:940px;font-size:clamp(20px,2vw,28px);line-height:1.5}.lead.narrow{max-width:760px}.profile-copy{grid-template-columns:repeat(2,1fr);gap:32px;max-width:940px;margin:48px 0;display:grid}.pillars,.tool-list{flex-wrap:wrap;gap:8px;display:flex}.pillars span,.tool-list span{border:1px solid var(--border);color:var(--heading);font:500 13px/1 var(--font-primary);border-radius:999px;padding:11px 15px}.timeline article{border-top:1px solid var(--border);grid-template-columns:minmax(140px,.3fr) minmax(0,1fr);gap:32px;padding:32px 0 48px;display:grid}.timeline h3,.capability-grid h3,.tool-card h3,.education-grid h3,.project-card h3{color:var(--heading);font:600 clamp(var(--card-heading-min), 2.6vw, var(--card-heading-max))/1.1 var(--font-heading);letter-spacing:-.02em;margin-bottom:8px}.timeline .company{color:var(--accent);font-weight:600}.filters{flex-wrap:wrap;gap:8px;margin:42px 0 32px;display:flex}.filters button{border:1px solid var(--border);color:var(--body);cursor:pointer;background:0 0;border-radius:999px;padding:9px 14px;font-size:13px}.filters button.is-active,.filters button:hover{background:var(--heading);border-color:var(--heading);color:var(--background)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;display:grid}.project-card{background:var(--surface);border:1px solid var(--border);overflow:hidden}.project-card-button{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;width:100%;padding:0;display:block}.project-cover{aspect-ratio:16/10;background:color-mix(in srgb, var(--surface) 72%, var(--border));color:var(--body);justify-content:center;align-items:center;display:flex;overflow:hidden}.project-cover img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.project-card:hover .project-cover img{transform:scale(1.025)}.project-cover span{font:600 13px/1 var(--font-primary);letter-spacing:.08em;text-transform:uppercase}.project-card-copy{padding:28px}.project-card-copy h3{margin:12px 0}.project-card-copy>p:not(.meta){-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.text-link{color:var(--heading);font:700 13px/1.2 var(--font-primary);margin-top:14px;display:inline-block}.text-link:hover{color:var(--accent)}.empty-portfolio{background:var(--surface);border:1px solid var(--border);text-align:center;place-items:center;min-height:360px;margin-top:48px;padding:48px;display:grid}.empty-portfolio span{color:color-mix(in srgb, var(--border) 65%, transparent);font:600 96px/1 var(--font-heading)}.empty-portfolio p{color:var(--heading);max-width:580px;font-size:20px}.empty-portfolio small{letter-spacing:.1em;text-transform:uppercase}.capability-grid{grid-template-columns:repeat(2,1fr);margin-bottom:44px;display:grid}.capability-grid article{border-top:1px solid var(--border);min-height:220px;padding:28px 28px 28px 0}.capability-grid article:nth-child(odd){border-right:1px solid var(--border)}.capability-grid article:nth-child(2n){padding-left:28px}.capability-grid article>span,.tool-number{color:var(--accent);font:700 11px/1 var(--font-primary)}.capability-grid h3{margin:25px 0 12px;font-size:clamp(25px,2vw,34px)}.innovation-section{background:var(--secondary);color:#bdbbb4;max-width:none;padding-left:max(28px, calc((100vw - var(--container)) / 2 + 28px));padding-right:max(28px, calc((100vw - var(--container)) / 2 + 28px))}.innovation-section h2,.innovation-section h3,.innovation-section .lead,.innovation-section .section-label p,.innovation-section .text-link{color:#f5f2e9}.innovation-grid{background:#42453f;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:50px;display:grid}.tool-card{background:var(--secondary);padding:34px}.private-label{margin:24px 0 12px}.tool-card dl{border-top:1px solid #42453f;margin:24px 0}.tool-card dl div{border-bottom:1px solid #42453f;padding:16px 0}.tool-card dt{color:#f5f2e9;text-transform:uppercase;font-size:12px;font-weight:700}.tool-card dd{margin:4px 0 0}.tool-tech,.access-note{font-size:13px}.access-note{max-width:760px;margin:28px 0}.innovation-section .outline-button{color:#f5f2e9;border-color:#777970}.education-grid{grid-template-columns:repeat(2,1fr);display:grid}.education-grid article{border-top:1px solid var(--border);padding:28px 28px 28px 0}.education-grid h3{font-size:25px}.contact-section{background:var(--accent);color:#f8eee8;text-align:center;flex-direction:column;align-items:center;min-height:72vh;padding:clamp(90px,12vw,180px) 28px;display:flex}.contact-section .eyebrow{color:#f8eee8}.contact-section h2{color:#fff;max-width:1000px;margin:25px auto 35px}.contact-email{color:#fff;font:600 clamp(22px, 3.5vw, 48px)/1.2 var(--font-heading)}.contact-section>div{gap:24px;margin:20px 0 36px;display:flex}.contact-section .primary-button{color:var(--accent);background:#fff;border-color:#fff}footer{background:var(--heading);color:#aaa79f;padding:28px max(28px, calc((100vw - var(--container)) / 2));justify-content:space-between;align-items:center;font-size:12px;display:flex}footer p{margin:0}.dialog-backdrop{z-index:100;background:#0c0c0ac7;padding:32px;position:fixed;inset:0;overflow:auto}.project-dialog{background:var(--background);color:var(--body);max-width:1180px;min-height:100%;margin:0 auto;padding:clamp(36px,6vw,88px);position:relative}.dialog-close{border:0;border-bottom:1px solid var(--heading);color:var(--heading);cursor:pointer;background:0 0;position:absolute;top:28px;right:32px}.project-dialog h2{margin:18px 0 40px}.dialog-summary{grid-template-columns:repeat(2,1fr);gap:28px;margin-bottom:60px;display:grid}.dialog-summary div{border-top:1px solid var(--border);padding-top:14px}.dialog-summary span,figcaption{text-transform:uppercase;font-size:12px}.dialog-images{gap:24px;display:grid}.dialog-images figure{margin:0}.dialog-images img{object-fit:contain;width:100%;height:auto;max-height:820px}.dialog-images figcaption{margin-top:8px}.project-cover-large{min-height:420px}@media (max-width:900px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{grid-template-columns:1fr;min-height:auto}.portrait-frame{max-width:440px}.section{grid-template-columns:1fr}.section-label{position:static}.project-grid{grid-template-columns:1fr}}@media (max-width:620px){.site-header{min-height:68px;padding:0 18px}.header-resume{font-size:11px}.hero{gap:54px;padding:70px 18px}.hero-facts{grid-template-columns:1fr 1fr;display:grid}.section{gap:24px;padding-left:18px;padding-right:18px}.section-content h2{margin-bottom:34px}.profile-copy,.timeline article,.capability-grid,.education-grid,.innovation-grid,.dialog-summary{grid-template-columns:1fr}.timeline article{gap:15px}.capability-grid article:nth-child(odd){border-right:0}.capability-grid article:nth-child(2n){padding-left:0}.tool-card{padding:28px 22px}.contact-section>div{flex-direction:column;gap:4px}footer{flex-direction:column;align-items:flex-start;gap:8px;padding:28px 18px}.dialog-backdrop{padding:0}.project-dialog{padding:72px 20px 40px}.dialog-close{right:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-parallax]{will-change:auto;transform:none!important}[data-section-reveal]{clip-path:none!important;opacity:1!important}.scroll-progress span{will-change:auto}}
