.site-shell{position:relative;min-height:100vh;overflow:clip}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:min(76rem,calc(100% - 3rem));margin:0 auto;padding:1rem 0;border-bottom:1px solid rgba(41,41,54,.8);background:#09090feb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand-mark{display:inline-flex;align-items:center;gap:.6rem;color:var(--color-text-strong);font-size:1.05rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.brand-mark__accent{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid var(--color-border-strong);border-radius:.35rem;background:var(--color-accent-strong);color:#fff}.menu-toggle{display:none;align-items:center;justify-content:center;width:3rem;height:3rem;padding:0;border:1px solid var(--color-border);border-radius:.35rem;background:var(--color-surface);color:var(--color-text-strong)}.site-nav{display:flex;align-items:center;gap:.5rem}.site-nav__link{position:relative;padding:.7rem .85rem;color:var(--color-text);transition:background-color .18s ease,color .18s ease,transform .18s ease}.site-nav__link:hover{color:var(--color-text-strong)}.site-nav__link--active{color:var(--color-accent)}.site-nav__link--active:after{position:absolute;right:.85rem;bottom:.25rem;left:.85rem;height:2px;background:var(--color-accent);content:""}.nav-overlay{display:none}.site-main{width:min(76rem,calc(100% - 3rem));margin:0 auto;padding:2rem 0 4rem}.site-footer{width:min(76rem,calc(100% - 3rem));margin:0 auto;padding:0 0 2.5rem;color:var(--color-text-muted);font-size:.95rem}.page{display:grid;gap:1.5rem}.page--home{gap:2rem}.hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(18rem,.9fr);gap:clamp(2rem,5vw,5rem);align-items:stretch}.hero__content,.section-block,.page-header{padding:clamp(1.5rem,2vw,2.25rem)}.hero__content{display:flex;flex-direction:column;justify-content:center;gap:1.25rem;min-height:32rem;padding-left:0}.hero__summary,.page-intro{max-width:38rem;font-size:1.1rem}.hero__card{display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:clamp(1.5rem,2vw,2rem);border-top:3px solid var(--color-accent)}.hero__card-label,.section-label,.eyebrow{color:var(--color-accent);font-size:.86rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.action-row{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:.5rem}.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.9rem;padding:.8rem 1.15rem;border:1px solid transparent;border-radius:.35rem;background:var(--color-accent-strong);color:#fff;font-weight:600;box-shadow:none}.button-link:hover{color:#fff;transform:translateY(-1px);background:#9d74f8}.button-link--secondary{border-color:var(--color-border);background:transparent;color:var(--color-text-strong);box-shadow:none}.button-link--disabled{background:#ffffff14;color:var(--color-text-muted);box-shadow:none;cursor:not-allowed;pointer-events:none}.content-grid,.contact-grid,.project-list{display:grid;gap:1.5rem}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-list{grid-template-columns:1fr}.surface-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;box-shadow:none}.section-block{display:grid;gap:1rem;padding-right:clamp(1.5rem,3vw,3rem);padding-left:0;border:0;border-top:1px solid var(--color-border);border-radius:0;background:transparent}.section-block--wide{max-width:58rem}.bullet-list,.detail-list{display:grid;gap:.9rem;padding-left:1.2rem;color:var(--color-text)}.stack-text{display:grid;gap:1rem}.contact-card{display:grid;gap:.9rem;min-height:14rem;padding:1.5rem;transition:border-color .18s ease,background-color .18s ease}.contact-card:hover{border-color:var(--color-border-strong);background:#14131f}.contact-card__cta{color:var(--color-accent);font-weight:600}.project-card{display:grid;grid-template-columns:minmax(18rem,.95fr) minmax(0,1.4fr);gap:0;overflow:hidden}.project-card__media{min-height:100%;padding:1.5rem;background:#0c0c13;border-right:1px solid var(--color-border)}.project-shot-grid{display:grid;gap:1rem;min-height:100%;min-width:100%;justify-items:center;align-content:center}.project-shot{display:grid;overflow:hidden;align-items:center;border-radius:.25rem;width:100%;border:1px solid rgba(248,250,252,.12);background:#09090f}.project-shot__button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.project-shot__image{display:block;width:100%;height:16rem;object-fit:contain;object-position:center;padding:.75rem}.project-dialog__backdrop{background:#02060ed6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-dialog__paper{position:relative;border:1px solid var(--color-border-strong);border-radius:.5rem;background:#0d0d14;box-shadow:0 24px 70px #0000008c;overflow:hidden}.project-dialog__close{position:absolute;top:1rem;right:1rem;z-index:1;border:1px solid rgba(248,250,252,.12);background:#ffffff0a;color:var(--color-text-strong)}.project-dialog__content{padding:4rem 1rem 1rem!important}.project-dialog__image{display:block;width:100%;max-height:calc(100vh - 8rem);object-fit:contain;object-position:center;border-radius:1rem}.project-card__content{display:grid;gap:1.5rem;padding:clamp(1.5rem,2vw,2.25rem)}.project-card__header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.project-card__status{padding:.55rem .85rem;border-left:2px solid var(--color-accent);background:transparent;color:var(--color-text);font-size:.95rem;white-space:nowrap}.project-card__summary{max-width:52rem;color:var(--color-text-strong);font-size:1.1rem}.project-card__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.project-card__panel{display:grid;gap:.85rem}.tag-row{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.tag{padding:.15rem 0;border-bottom:1px solid var(--color-border);color:var(--color-text);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.88rem}.page-header{padding:clamp(2rem,5vw,4.5rem) 0;border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:transparent}.page-header h1{max-width:18ch}@media(max-width:900px){.hero,.content-grid,.contact-grid,.project-card,.project-card__meta{grid-template-columns:1fr}.hero__content{min-height:auto}.project-card__media{border-right:0;border-bottom:1px solid var(--color-border)}}@media(max-width:720px){.site-header{padding:1rem 0}.menu-toggle{display:inline-flex}.nav-overlay--visible{position:fixed;inset:0;display:block;background:#070a1273;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.site-nav{position:fixed;top:1rem;right:1rem;left:4rem;z-index:30;flex-direction:column;align-items:stretch;padding:4.5rem 1rem 1rem;border:1px solid var(--color-border-strong);border-radius:.5rem;background:#09090ffa;box-shadow:0 24px 48px #02081273;opacity:0;pointer-events:none;transform:translateY(-.75rem);transition:opacity .18s ease,transform .18s ease}.site-nav--open{opacity:1;pointer-events:auto;transform:translateY(0)}.site-nav__link{width:100%}.site-main{padding-top:1rem}.project-card__header{flex-direction:column}.project-card__status{white-space:normal}}:root{color-scheme:dark;font-family:Inter,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-bg: #09090f;--color-bg-elevated: #11111a;--color-surface: #101018;--color-border: #292936;--color-border-strong: #6d5bd0;--color-text: #c7c6d0;--color-text-strong: #f4f2f8;--color-text-muted: #92909e;--color-accent: #a78bfa;--color-accent-strong: #8b5cf6}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-bg);color:var(--color-text)}a{color:inherit;text-decoration:none}button,a{transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid rgba(167,139,250,.85);outline-offset:3px}img{max-width:100%;display:block}h1,h2,h3,p,ul{margin:0}h1,h2,h3{color:var(--color-text-strong);line-height:1.08}h1{max-width:16ch;font-size:clamp(2.8rem,7vw,5.25rem);letter-spacing:-.045em}h2{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em}p,li{font-size:1rem}#root{min-height:100vh}@media(max-width:640px){h1{font-size:clamp(2.5rem,13vw,3.7rem)}}
