*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}:root{--black:#0a0a0b;--near-black:#111114;--panel:#18181c;--panel-mid:#202026;--rule:#2a2a32;--dim:#787890;--muted:#aaaabc;--body:#d8d8e8;--white:#f0f0f6;--teal:#4a8a78;--teal-dim:#4a8a781a;--teal-line:#4a8a784d;--sand:#e8dfc8}body{background:var(--black);color:var(--body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;min-height:100vh;font-family:Barlow,system-ui,sans-serif;font-weight:300;line-height:1.6;display:flex}.skip-link{z-index:100;background:var(--teal);color:var(--black);letter-spacing:.12em;text-transform:uppercase;padding:10px 16px;font-family:JetBrains Mono,monospace;font-size:.7rem;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-link:focus{top:16px;left:16px}.bg-watermark{opacity:1;pointer-events:none;z-index:0;width:60vw;max-width:700px;height:auto;position:fixed;top:50%;right:-8vw;transform:translateY(-50%)}.page{z-index:1;flex:1;width:100%;max-width:960px;margin:0 auto;padding:0 48px;position:relative}.page main{display:block}.site-header{border-bottom:1px solid var(--rule);margin-bottom:72px;padding:64px 0 0}.header-top{justify-content:space-between;align-items:center;padding-bottom:24px;display:flex}.logo-lockup{align-items:center;gap:20px;text-decoration:none;display:flex}.logo-mark{flex-shrink:0;width:72px;height:72px}.wordmark{flex-direction:column;gap:5px;display:flex}.wordmark-main{color:var(--sand);letter-spacing:.12em;text-transform:uppercase;font-family:Big Shoulders Display,sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1}.wordmark-sub{letter-spacing:.25em;text-transform:uppercase;color:var(--dim);font-family:JetBrains Mono,monospace;font-size:.58rem}.header-meta{text-align:right;letter-spacing:.15em;color:var(--dim);font-family:JetBrains Mono,monospace;font-size:.58rem;line-height:2}.header-meta a{color:var(--teal);text-decoration:none;transition:color .15s}.header-meta a:hover{color:var(--white)}.header-rule{background:linear-gradient(90deg, var(--teal), transparent 60%);height:1px;margin-top:-1px}.intro-label,.page-label{letter-spacing:.28em;text-transform:uppercase;color:var(--teal);align-items:center;gap:10px;margin-bottom:20px;font-family:JetBrains Mono,monospace;font-size:.58rem;display:flex}.intro-label:before,.page-label:before{content:"";background:var(--teal);opacity:.6;width:20px;height:1px}.intro{max-width:640px;margin-bottom:80px}.intro-statement{color:var(--white);letter-spacing:.04em;text-transform:uppercase;margin-bottom:28px;font-family:Big Shoulders Display,sans-serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:300;line-height:1.15}.intro-statement em{color:#f0f0f673;font-style:normal}.intro-body{color:var(--muted);font-family:Barlow,sans-serif;font-size:.92rem;font-weight:300;line-height:1.85}.page-statement{color:var(--white);letter-spacing:.04em;text-transform:uppercase;max-width:640px;margin-bottom:28px;font-family:Big Shoulders Display,sans-serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:300;line-height:1.2}.page-body{color:var(--muted);max-width:640px;margin-bottom:64px;font-family:Barlow,sans-serif;font-size:.92rem;font-weight:300;line-height:1.85}.portfolio-label,.disciplines-label{letter-spacing:.28em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;margin-bottom:20px;padding-bottom:16px;font-family:JetBrains Mono,monospace;font-size:.58rem;display:flex}.portfolio-label span,.disciplines-label span{opacity:.6;font-size:.52rem}.portfolio-grid{background:var(--rule);border:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:2px;margin-bottom:80px;display:grid}.portfolio-item{background:var(--near-black);padding:32px 28px;text-decoration:none;transition:background .2s;display:block;position:relative;overflow:hidden}.portfolio-item:after{content:"↗";color:var(--rule);font-size:.7rem;transition:color .2s,transform .2s;position:absolute;top:20px;right:20px}.portfolio-item:hover{background:var(--panel)}.portfolio-item:hover:after{color:var(--teal);transform:translate(2px,-2px)}.portfolio-item-category{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:.55rem}.portfolio-item-name{letter-spacing:.06em;text-transform:uppercase;color:var(--white);margin-bottom:6px;font-family:Barlow Condensed,sans-serif;font-size:1.5rem;font-weight:500;line-height:1.1}.portfolio-item-domain{color:var(--teal);letter-spacing:.08em;opacity:.8;margin-bottom:14px;font-family:JetBrains Mono,monospace;font-size:.58rem}.portfolio-item-desc{color:var(--body);font-family:Barlow,sans-serif;font-size:.78rem;font-weight:300;line-height:1.65}.disciplines{flex-direction:column;gap:2px;margin-bottom:80px;display:flex}.discipline{background:var(--panel);border:1px solid var(--rule);border-left:2px solid var(--rule);padding:28px 28px 26px;text-decoration:none;transition:border-left-color .2s,background .2s;display:block;position:relative}.discipline:hover{border-left-color:var(--teal);background:var(--panel-mid)}.discipline.is-link:after{content:"↗";color:var(--rule);font-size:.7rem;transition:color .2s,transform .2s;position:absolute;top:22px;right:22px}.discipline.is-link:hover:after{color:var(--teal);transform:translate(2px,-2px)}.discipline-num{letter-spacing:.2em;color:var(--dim);margin-bottom:8px;font-family:JetBrains Mono,monospace;font-size:.55rem}.discipline-title{letter-spacing:.06em;text-transform:uppercase;color:var(--white);margin-bottom:8px;font-family:Barlow Condensed,sans-serif;font-size:1.4rem;font-weight:500}.discipline-body{color:var(--body);max-width:700px;font-family:Barlow,sans-serif;font-size:.85rem;font-weight:300;line-height:1.7}.site-footer{border-top:1px solid var(--rule);z-index:1;padding:28px 0 40px;position:relative}.footer-page{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:960px;margin:0 auto;padding:0 48px;display:flex}.footer-left,.footer-center,.footer-right{letter-spacing:.12em;color:var(--dim);font-family:JetBrains Mono,monospace;font-size:.58rem}.footer-center a{color:var(--dim);text-decoration:none;transition:color .15s}.footer-center a:hover{color:var(--teal)}@media (max-width:720px){.page{padding:0 24px}.header-top{flex-direction:column;align-items:flex-start;gap:20px}.header-meta{text-align:left}.portfolio-grid{grid-template-columns:1fr}.footer-page{flex-direction:column;align-items:flex-start;padding:0 24px}.bg-watermark{width:90vw;right:-20vw}.logo-mark{width:56px;height:56px}}
