:root{color-scheme:light;--ink: #101415;--muted: #5d6565;--paper: #f7f8f7;--surface: #ffffff;--line: #d9dfdc;--teal: #245f5b;--rust: #a34e35;--gold: #c59b46;--max: 1120px;--shadow: 0 20px 60px rgba(16, 20, 21, .08)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--paper);color:var(--ink);scroll-behavior:smooth}body{margin:0;min-width:320px;font-size:16px;line-height:1.6}body.menu-open{overflow:hidden}a{color:inherit}img{display:block;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-main{background:var(--paper)}.container{width:min(100% - 40px,var(--max));margin:0 auto}.section{padding:88px 0}.section.compact{padding:64px 0}.eyebrow{margin:0 0 12px;color:var(--rust);font-size:.78rem;font-weight:760;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:0}h1{max-width:860px;font-size:clamp(2.6rem,5vw,4.2rem);font-weight:820}h2{max-width:760px;font-size:clamp(2rem,4vw,3.4rem);font-weight:780}h3{font-size:1.25rem;font-weight:760}.lead{max-width:760px;color:var(--muted);font-size:clamp(1.1rem,2vw,1.35rem)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid var(--ink);border-radius:4px;background:var(--ink);color:#fff;font-size:.82rem;font-weight:760;letter-spacing:.09em;text-decoration:none;text-transform:uppercase;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.button:hover,.button:focus-visible{background:var(--teal);border-color:var(--teal);transform:translateY(-1px)}.button.secondary{background:transparent;color:var(--ink)}.button.secondary:hover,.button.secondary:focus-visible{color:#fff}.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(16,20,21,.08);background:#f7f8f7e6;backdrop-filter:blur(18px)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:76px}.brand{font-weight:820;letter-spacing:.02em;text-decoration:none}.nav{display:flex;align-items:center;gap:6px}.nav a{border-radius:4px;padding:9px 12px;color:var(--muted);font-size:.92rem;font-weight:700;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{background:#e8eeee;color:var(--ink)}.mobile-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font:inherit}.mobile-toggle span{display:block;width:20px;height:2px;margin:4px auto;background:currentColor}.hero{position:relative;min-height:590px;display:grid;align-items:end;overflow:hidden;background:#111;color:#fff}.hero:before{position:absolute;inset:0;content:"";background:linear-gradient(90deg,#101415e6,#10141594 48%,#10141529),url(/images/home-lighthouse-hero.jpg) center / cover;transform:scale(1.02)}.hero-content{position:relative;padding:84px 0 52px}.hero .lead{color:#ffffffd1}.hero h1{font-size:clamp(3rem,6vw,5rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.hero .button{border-color:#fff;background:#fff;color:var(--ink)}.hero .button.secondary{background:transparent;color:#fff}.page-hero{position:relative;min-height:460px;display:grid;align-items:end;overflow:hidden;background:#101415;color:#fff}.page-hero:before{position:absolute;inset:0;content:"";background:linear-gradient(90deg,#101415f0,#1014159e 48%,#1014152e),var(--page-hero-image) center / cover;transform:scale(1.02)}.page-hero-content{position:relative;padding:78px 0 64px}.page-hero .lead{color:#ffffffd1}.portfolio-hero{--page-hero-image: url(/images/portfolio-systems-hero.jpg)}.about-hero{--page-hero-image: url(/images/about-architecture-map.jpg)}.grid{display:grid;gap:22px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.service-card,.credential-card{padding:28px}.focus-card,.capability-card{padding:26px}.focus-card p,.capability-card p{margin:14px 0 0;color:var(--muted)}.service-card ul,.credential-card ul,.project-card ul{margin:18px 0 0;padding-left:20px;color:var(--muted)}.service-card li+li,.credential-card li+li,.project-card li+li{margin-top:8px}.metric{padding:24px;border-left:3px solid var(--gold);background:var(--surface)}.metric strong{display:block;margin-bottom:8px;font-size:clamp(2rem,4vw,3rem);line-height:1}.metric span{color:var(--muted);font-weight:650}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:56px;align-items:center}.media-frame{overflow:hidden;border-radius:8px;border:1px solid var(--line);background:var(--surface)}.media-frame img{width:100%;height:100%;object-fit:cover}.orientation-image{max-height:620px}.orientation-image img{object-position:center}.text-stack{display:grid;gap:18px}.text-stack p{margin:0;color:var(--muted)}.summary-list{display:grid;gap:14px;margin:30px 0 0;padding:0;list-style:none}.summary-list li{padding:18px 20px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted)}.research-list{display:grid;gap:18px}.research-link{display:block;padding:24px;text-decoration:none;transition:border-color .16s ease,transform .16s ease}.research-link:hover,.research-link:focus-visible{border-color:var(--teal);transform:translateY(-1px)}.research-link span{display:block;color:var(--ink);font-size:1.15rem;font-weight:760;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}.research-link p{margin:10px 0 0;color:var(--muted)}.assessment{display:grid;gap:16px}.assessment-item{padding:22px}.skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}.skill-panel{padding:24px}.skill-panel img,.skill-list{margin-top:18px}.skill-list{display:grid;gap:10px;padding-left:20px;color:var(--muted)}.project-card{padding:30px}.project-card .description{color:var(--muted)}.contact-panel{display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,1fr);gap:56px;align-items:center}.contact-copy{max-width:520px}.contact-copy h1{font-size:clamp(2.6rem,5vw,4.2rem)}.site-footer{padding:34px 0;background:var(--ink);color:#ffffffc7}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-inner a{color:#fff;font-weight:720;text-decoration:none}@media(max-width:860px){.container{width:min(100% - 28px,var(--max))}.mobile-toggle{display:block}.nav{position:fixed;inset:76px 0 auto;display:none;flex-direction:column;align-items:stretch;padding:18px 24px 24px;border-bottom:1px solid var(--line);background:var(--surface)}.nav.is-open{display:flex}.nav a{padding:14px 10px}.section{padding:64px 0}.hero{min-height:660px}.hero:before{background:linear-gradient(180deg,#101415e6,#101415a8),url(/images/home-lighthouse-hero.jpg) 68% center / cover}.page-hero{min-height:560px}.page-hero:before{background:linear-gradient(180deg,#101415eb,#101415ad),var(--page-hero-image) 64% center / cover}.grid.two,.grid.three,.grid.four,.split,.skills,.contact-panel{grid-template-columns:1fr}.contact-panel{gap:34px}.footer-inner{flex-direction:column;align-items:flex-start}}@media(max-width:520px){h1{font-size:3rem}.hero-content{padding:104px 0 60px}.hero-actions,.button{width:100%}.service-card,.credential-card,.focus-card,.capability-card,.research-link,.project-card,.skill-panel{padding:22px}}
