:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f6f7f2;--paper-strong:#fff;--ink:#171815;--muted:#67645d;--line:#17181524;--panel:#ffffffb8;--panel-solid:#fff;--copper:#b56b3b;--moss:#536d4a;--steel:#3d5f6c;--charcoal:#252722;--shadow:0 24px 80px #23221d29}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 18% 8%, #b56b3b1f, transparent 28rem), linear-gradient(135deg, #536d4a1a, transparent 34%), var(--paper);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit}.site-shell{width:min(1180px,100% - 40px);margin:0 auto}.topbar{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;min-height:76px;display:flex;position:sticky;top:0}.wordmark,.nav-links{align-items:center;gap:12px;display:flex}.wordmark{font-weight:750}.wordmark-mark{border:1px solid var(--line);background:var(--ink);width:38px;height:38px;color:var(--paper-strong);letter-spacing:0;place-items:center;font-size:.78rem;display:grid}.nav-links{color:var(--muted);font-size:.94rem}.nav-links a{padding:9px 0}.nav-links a:hover{color:var(--ink)}.intro-section{grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr);align-items:center;gap:clamp(36px,6vw,84px);min-height:calc(100vh - 76px);padding:48px 0 72px;display:grid}.intro-copy{max-width:720px}.eyebrow{color:var(--copper);letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;font-size:.76rem;font-weight:780}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;max-width:9.5ch;margin-bottom:24px;font-size:clamp(3rem,7.2vw,6.9rem);line-height:.91}h2{letter-spacing:0;max-width:800px;margin-bottom:0;font-size:clamp(2rem,4vw,4.25rem);line-height:1}h3{letter-spacing:0;margin-bottom:0;font-size:clamp(2rem,3.6vw,3.7rem);line-height:1}.intro-text{max-width:560px;color:var(--muted);margin-bottom:30px;font-size:clamp(1.05rem,2vw,1.22rem)}.about-copy{gap:18px;display:grid}.about-copy p{margin-bottom:0}.text-highlight{color:var(--ink);font-weight:800}.intro-actions,.contact-actions{flex-wrap:wrap;gap:12px;display:flex}.intro-actions{justify-content:start}.intro-portrait{aspect-ratio:4/5;background:var(--panel-solid);width:min(100%,420px);box-shadow:var(--shadow);border:1px solid #17181529;border-radius:8px;justify-self:end;margin:0;position:relative;overflow:hidden}.intro-portrait img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.button{border:1px solid var(--line);border-radius:8px;justify-content:center;align-items:center;min-height:46px;padding:0 18px;font-weight:700;transition:transform .16s,border-color .16s,background .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{border-color:var(--ink);background:var(--ink);color:var(--paper-strong)}.button-secondary{color:var(--ink);background:#ffffffad}.button.is-disabled{cursor:not-allowed;opacity:.58}.button.is-disabled:hover{transform:none}.systems-panel{background:linear-gradient(135deg, #fffffff5, #e8ece2d1), var(--panel-solid);min-height:min(560px,62vh);box-shadow:var(--shadow);border:1px solid #1718152e;border-radius:8px;position:relative;overflow:hidden}#systems-canvas{width:100%;height:100%;min-height:inherit;display:block}.panel-overlay{background:linear-gradient(#0000,#ffffffe0);justify-content:space-between;align-items:end;gap:18px;padding-top:24px;display:flex;position:absolute;bottom:18px;left:18px;right:18px}.panel-kicker{color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:.78rem;font-weight:750;display:block}.panel-overlay strong{max-width:320px;font-size:1.12rem;line-height:1.2;display:block}.status-pill{min-height:30px;color:var(--moss);white-space:nowrap;background:#536d4a1a;border:1px solid #536d4a47;border-radius:999px;align-items:center;padding:0 10px;font-size:.78rem;font-weight:760;display:inline-flex}.projects-section,.about-section,.contact-section{padding:88px 0}.section-heading{margin-bottom:30px}.project-workbench{grid-template-columns:320px minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.project-list{gap:10px;display:grid}.project-tab{border:1px solid var(--line);width:100%;min-height:88px;color:var(--muted);text-align:left;cursor:pointer;background:#ffffff8a;border-radius:8px;padding:18px;transition:background .16s,border-color .16s,transform .16s}.project-tab:hover,.project-tab.is-active{background:var(--paper-strong);color:var(--ink);border-color:#17181557;transform:translate(2px)}.project-tab span{color:inherit;margin-bottom:4px;font-size:1.1rem;font-weight:800;display:block}.project-tab small{color:var(--muted);font-size:.91rem}.project-detail{background:linear-gradient(150deg, #fffffff2, #eff2eadb), var(--panel);border:1px solid #17181529;border-radius:8px;min-height:430px;padding:clamp(24px,4vw,44px);box-shadow:0 18px 60px #23221d1a}.project-detail-header{justify-content:space-between;align-items:start;gap:20px;margin-bottom:28px;display:flex}.project-detail-actions{flex-wrap:wrap;justify-content:end;gap:10px;display:flex}.project-link{min-height:30px;color:var(--ink);white-space:nowrap;background:#ffffffb8;border:1px solid #1718152e;border-radius:999px;align-items:center;padding:0 10px;font-size:.78rem;font-weight:760;transition:border-color .16s,background .16s,transform .16s;display:inline-flex}.project-link:hover{background:#536d4a1a;border-color:#536d4a6b;transform:translateY(-1px)}.project-summary{max-width:780px;color:var(--charcoal);margin-bottom:34px;font-size:clamp(1.14rem,2vw,1.38rem)}.project-media{grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);align-items:stretch;gap:16px;margin-bottom:28px;display:grid}.product-shot{background:#fff;border:1px solid #919eb23d;border-radius:8px;margin:0;position:relative;overflow:hidden;box-shadow:0 18px 48px #212b361f}.product-shot img{object-fit:cover;width:100%;height:100%;display:block}.product-shot-primary{aspect-ratio:16/10}.product-shot-primary img{object-position:top center}.product-shot-secondary{aspect-ratio:4/5}.product-shot-secondary img{object-position:54% 8%}.product-shot figcaption{color:#0f172a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffdb;border:1px solid #ffffffb8;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:.78rem;font-weight:780;display:flex;position:absolute;bottom:14px;left:14px;right:14px}.product-shot figcaption a{color:var(--moss)}.project-grid{border:1px solid var(--line);background:var(--line);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.project-grid div{background:#ffffffc2;min-height:168px;padding:18px}.project-grid span{color:var(--steel);text-transform:uppercase;margin-bottom:12px;font-size:.78rem;font-weight:820;display:block}.project-grid p,.about-grid p{color:var(--muted);margin-bottom:0}.about-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;font-size:clamp(1.05rem,2vw,1.25rem);display:grid}.about-grid p{border-top:1px solid var(--line);padding-top:20px}.contact-section{border-top:1px solid var(--line);justify-content:space-between;align-items:end;gap:28px;margin-bottom:36px;display:flex}.contact-section h2{max-width:760px;font-size:clamp(2rem,4.6vw,4.8rem)}@media (max-width:900px){.intro-section,.project-workbench,.about-grid,.contact-section{grid-template-columns:1fr}.intro-section{text-align:center;min-height:auto;padding-top:36px}.intro-copy,.intro-portrait{justify-self:center}.intro-copy h1,.intro-text{margin-left:auto;margin-right:auto}.intro-actions{justify-content:center}.project-list{grid-template-columns:repeat(3,minmax(0,1fr))}.project-media{grid-template-columns:1fr}.project-tab{min-height:110px}.contact-section{display:grid}}@media (max-width:640px){.site-shell{width:min(100% - 24px,1180px)}.topbar{min-height:68px}.nav-links{gap:10px;font-size:.86rem}.wordmark span:last-child{display:none}h1{max-width:10.5ch;font-size:clamp(3.2rem,18vw,5.2rem)}.intro-actions,.contact-actions{grid-template-columns:1fr;display:grid}.systems-panel{min-height:430px}.panel-overlay{flex-direction:column;align-items:start}.projects-section,.about-section,.contact-section{padding:64px 0}.project-list,.project-grid{grid-template-columns:1fr}.project-tab{min-height:76px}.project-detail-header{display:grid}.project-detail-actions{justify-content:start}}
