:root{--bg:#fbfbfa;--panel:#fff;--fg:#111;--muted:#6f6f6b;--line:#e4e4e0;--line-strong:#cfcfc9;--chip:#f2f2ef;--grid:200px 1fr;--pad:40px;--hero:1.1fr .9fr;--work:1fr 1fr;--shot:380px;--navlink:inline;--navbtn:none;--navgap:22px;--navname:inline}html[data-theme=dark]{--bg:#0d0d0c;--panel:#151514;--fg:#f2f2ef;--muted:#97978f;--line:#262624;--line-strong:#3b3b36;--chip:#1c1c1a}@media (width<=860px){:root{--grid:1fr;--pad:22px;--hero:1fr;--work:1fr;--shot:240px;--navlink:none;--navbtn:inline-grid;--navgap:12px;--navname:inline}}@media (width<=400px){:root{--navname:none}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;font-family:IBM Plex Sans,system-ui,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}input,textarea,button{font-family:inherit}::selection{background:var(--fg);color:var(--bg)}@keyframes fkn-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.page{background:var(--bg);color:var(--fg);min-height:100vh}.shell{max-width:1200px;padding:0 var(--pad);margin:0 auto}.section{border-bottom:1px solid var(--line)}.section__inner{max-width:1200px;padding:clamp(56px, 7vw, 88px) var(--pad);margin:0 auto}.section__title{letter-spacing:-.025em;margin:0;font-family:IBM Plex Mono,monospace;font-size:clamp(22px,3vw,34px);font-weight:500}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:12px}.link-rule{border-bottom:1px solid var(--line-strong);padding-bottom:2px}.link-rule:hover{border-color:var(--fg)}.nav{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in oklab, var(--bg) 86%, transparent);border-bottom:1px solid var(--line);position:sticky;top:0}.nav__inner{max-width:1200px;padding:0 var(--pad);justify-content:space-between;align-items:center;gap:14px;min-height:62px;margin:0 auto;display:flex}.nav__brand{letter-spacing:-.01em;align-items:center;gap:10px;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:600;display:flex}.nav__mark{border:1px solid var(--fg);border-radius:3px;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:11px;display:inline-grid}.nav__name{display:var(--navname);white-space:nowrap}.nav__links{align-items:center;gap:var(--navgap);color:var(--muted);flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:13px;display:flex}.nav__link{display:var(--navlink);color:var(--muted)}.nav__link:hover{color:var(--fg)}.nav__theme{border:1px solid var(--line-strong);color:var(--fg);cursor:pointer;background:0 0;border-radius:999px;padding:6px 11px;font-family:IBM Plex Mono,monospace;font-size:12px}.nav__theme:hover{border-color:var(--fg)}.nav__cta{border:1px solid var(--fg);background:var(--fg);color:var(--bg);white-space:nowrap;border-radius:3px;padding:8px 14px;font-size:12px}.nav__burger{display:var(--navbtn);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:999px;align-content:center;place-items:center;gap:5px;width:36px;height:30px;padding:0}.nav__burger span{background:var(--fg);border-radius:2px;width:14px;height:1.5px}.nav__menu{border-top:1px solid var(--line);background:var(--bg);padding:8px var(--pad) 16px;flex-direction:column;display:flex}.nav__menu a{border-bottom:1px solid var(--line);padding:14px 0;font-family:IBM Plex Mono,monospace;font-size:15px}.nav__menu a:last-child{border-bottom:0}.hero__inner{max-width:1200px;padding:clamp(56px, 9vw, 110px) var(--pad) clamp(48px, 7vw, 84px);grid-template-columns:var(--hero);align-items:end;gap:48px;margin:0 auto;display:grid}.hero__copy{flex-direction:column;gap:26px;display:flex}.hero__badge{border:1px solid var(--line-strong);border-radius:999px;align-items:center;gap:9px;width:max-content;padding:6px 13px;font-family:IBM Plex Mono,monospace;font-size:12px;display:inline-flex}.hero__dot{background:#16a34a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #16a34a2e}.hero__title{letter-spacing:-.035em;text-wrap:balance;margin:0;font-family:IBM Plex Mono,monospace;font-size:clamp(34px,5.6vw,68px);font-weight:500;line-height:1.04}.hero__lead{color:var(--muted);text-wrap:pretty;max-width:52ch;margin:0;font-size:18px;line-height:1.6}.hero__actions{flex-wrap:wrap;gap:10px;display:flex}.btn-solid{border:1px solid var(--fg);background:var(--fg);color:var(--bg);border-radius:3px;padding:13px 22px;font-family:IBM Plex Mono,monospace;font-size:13px}.btn-ghost{border:1px solid var(--line-strong);border-radius:3px;padding:13px 22px;font-family:IBM Plex Mono,monospace;font-size:13px}.btn-ghost:hover{border-color:var(--fg)}.panel{border:1px solid var(--line);background:var(--panel);border-radius:4px;overflow:hidden}.panel__bar{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:8px;padding:11px 14px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}.panel__dot{background:var(--line-strong);border-radius:50%;width:8px;height:8px}.panel__path{margin-left:6px}.panel__body{flex-direction:column;gap:12px;padding:20px 18px;font-family:IBM Plex Mono,monospace;font-size:13px;display:flex}.panel__row{justify-content:space-between;gap:16px;display:flex}.panel__key{color:var(--muted)}.marquee{border-bottom:1px solid var(--line);padding:16px 0;overflow:hidden}.marquee__track{gap:0;width:max-content;animation:38s linear infinite fkn-marquee;display:flex}.marquee__row{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;gap:44px;padding-right:44px;font-family:IBM Plex Mono,monospace;font-size:13px;display:flex}.work__head{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:40px;display:flex}.work__list{flex-direction:column;gap:28px;display:flex}.project{grid-template-columns:var(--work);border:1px solid var(--line);background:var(--panel);border-radius:4px;align-items:stretch;display:grid;overflow:hidden}.project__shot{min-width:0;height:var(--shot,380px);position:relative}.project__shot img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.project__body{flex-direction:column;justify-content:center;gap:16px;min-width:0;padding:32px;display:flex}.project--media-left .project__shot,.project--media-right .project__body{border-right:1px solid var(--line)}@media (width<=860px){.project--media-left .project__shot,.project--media-right .project__body{border-right:0}}.project__title{letter-spacing:-.02em;margin:0;font-family:IBM Plex Mono,monospace;font-size:22px;font-weight:600}.project__desc{color:var(--muted);max-width:52ch;margin:0;font-size:15.5px;line-height:1.65}.project__tags{flex-wrap:wrap;gap:8px;display:flex}.tag{background:var(--chip);color:var(--muted);border-radius:3px;padding:5px 10px;font-family:IBM Plex Mono,monospace;font-size:12px}.project__links{flex-wrap:wrap;gap:18px;font-family:IBM Plex Mono,monospace;font-size:13px;display:flex}.project__source{color:var(--muted)}.services__title{margin:0 0 40px}.services__grid{background:var(--line);border:1px solid var(--line);border-radius:4px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;display:grid;overflow:hidden}.service{background:var(--panel);flex-direction:column;gap:12px;padding:28px;display:flex}.service__num{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:12px}.service__title{margin:0;font-family:IBM Plex Mono,monospace;font-size:16px;font-weight:600}.service__desc{color:var(--muted);margin:0;font-size:14.5px;line-height:1.6}.stats__grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.stat{flex-direction:column;gap:8px;padding:40px 0;display:flex}.stat__value{letter-spacing:-.03em;font-family:IBM Plex Mono,monospace;font-size:clamp(28px,4vw,44px)}.stat__label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:12px}.about__inner{max-width:1200px;padding:clamp(56px, 7vw, 88px) var(--pad);grid-template-columns:var(--grid);gap:48px;margin:0 auto;display:grid}.about__body{flex-direction:column;gap:48px;display:flex}.about__lead{text-wrap:pretty;max-width:68ch;margin:0;font-size:17.5px;line-height:1.68}.about__roles{flex-direction:column;gap:34px;display:flex}.role{border-top:1px solid var(--line);flex-direction:column;gap:14px;padding-top:26px;display:flex}.role__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.role__title{margin:0;font-family:IBM Plex Mono,monospace;font-size:17px;font-weight:600}.role__dates{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:13px}.role__points{color:var(--muted);flex-direction:column;gap:9px;max-width:74ch;margin:0;padding-left:18px;font-size:15px;line-height:1.62;display:flex}.contact__inner{max-width:1200px;padding:clamp(56px, 7vw, 96px) var(--pad);grid-template-columns:var(--hero);gap:48px;margin:0 auto;display:grid}.contact__copy{flex-direction:column;gap:22px;display:flex}.contact__title{letter-spacing:-.03em;text-wrap:balance;max-width:16ch;margin:0;font-family:IBM Plex Mono,monospace;font-size:clamp(28px,4.4vw,50px);font-weight:500;line-height:1.08}.contact__lead{color:var(--muted);max-width:44ch;margin:0;font-size:16.5px;line-height:1.6}.contact__links{flex-direction:column;gap:10px;font-family:IBM Plex Mono,monospace;font-size:14px;display:flex}.contact__links a{width:max-content}.form{border:1px solid var(--line);background:var(--panel);border-radius:4px;flex-direction:column;gap:12px;padding:26px;display:flex}.form__honeypot{display:none}.form input,.form textarea{border:1px solid var(--line-strong);color:var(--fg);background:0 0;border-radius:3px;padding:13px 14px;font-size:14px}.form textarea{resize:vertical}.form__submit{border:1px solid var(--fg);background:var(--fg);color:var(--bg);cursor:pointer;border-radius:3px;padding:13px 18px;font-family:IBM Plex Mono,monospace;font-size:13px}.form__note{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:12px}.form__note--sent{color:#16a34a}.form__note--error{color:#dc2626}.footer{border-top:1px solid var(--line)}.footer__inner{max-width:1200px;padding:26px var(--pad);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin:0 auto;font-family:IBM Plex Mono,monospace;font-size:12px;display:flex}
