:root,html[data-theme=dark]{--ink:#0e0d0b;--bone:#ede7da;--bone-dim:#8a8478;--cacao:#8b4a2b;--sage:#6e7f5c;--concrete:#6b6862;--rule:#2a2823}html[data-theme=light]{--ink:#ede7da;--bone:#0e0d0b;--bone-dim:#605c53;--cacao:#c8683a;--sage:#91a37a;--concrete:#9e9a93;--rule:#d5d0c3}html[data-theme=neon]{--ink:#000;--bone:#cf0;--bone-dim:#85a300;--cacao:#f50;--sage:#0fa;--concrete:#aff;--rule:#222}html[data-theme=ocean]{--ink:#020e17;--bone:#d0e7ff;--bone-dim:#6b8ea8;--cacao:#ff9d6b;--sage:#a1e2d8;--concrete:#b3cdd6;--rule:#102a3d}html[data-theme=sunset]{--ink:#2a0800;--bone:#ffb8a1;--bone-dim:#cc6c54;--cacao:#ffc400;--sage:#f69;--concrete:#f95;--rule:#4a1505}html[data-theme=forest]{--ink:#05140a;--bone:#c2e5cc;--bone-dim:#70997d;--cacao:#e5b382;--sage:#a1c680;--concrete:#9bbfa5;--rule:#153320}*{box-sizing:border-box}@media (pointer:fine){*{cursor:none!important}}html,body{margin:0;padding:0}body{background:var(--ink);color:var(--bone);scrollbar-width:none;-ms-overflow-style:none;font-family:Inter,sans-serif;transition:background .4s,color .4s;position:relative;overflow-x:hidden}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}::selection{background:var(--cacao);color:var(--bone)}#grain{z-index:80;pointer-events:none;opacity:.05;mix-blend-mode:overlay;position:fixed;inset:0}#loader{z-index:100;background:var(--ink);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}nav{z-index:90;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-dim);justify-content:space-between;padding:24px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex;position:fixed;top:0;left:0;right:0}nav .nav-links{gap:24px;display:flex}nav a{color:inherit;text-decoration:none;transition:color .2s}nav a:hover,nav a.active{color:var(--bone)}.loader-line{letter-spacing:.18em;color:var(--bone-dim);text-transform:uppercase;margin:4px 0;font-family:IBM Plex Mono,monospace;font-size:12px;display:flex;overflow:hidden}.loader-line span{will-change:transform, opacity, filter;display:inline-block}.loader-rule{background:var(--bone-dim);width:1px;height:0;margin:14px 0}main{max-width:640px;margin:0 auto;padding:14vh 24px 18vh}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--bone-dim);opacity:0;margin-bottom:28px;font-family:IBM Plex Mono,monospace;font-size:11px}h1{opacity:0;max-width:12ch;margin:0 0 20px;font-family:Space Grotesk,sans-serif;font-size:clamp(28px,4.4vw,42px);font-weight:500;line-height:1.25}h1 em{color:var(--bone-dim);font-style:italic;font-weight:300}.lede{color:var(--bone-dim);opacity:0;max-width:52ch;margin:0 0 90px;font-size:15px;line-height:1.75}.lede a{color:var(--bone);-webkit-text-decoration-color:var(--bone-dim);text-decoration-color:var(--bone-dim)}.section-label{letter-spacing:.16em;text-transform:uppercase;color:var(--bone-dim);opacity:0;flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:6px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}.section-label-note{letter-spacing:.12em;opacity:.45;text-transform:none;font-size:10px;font-style:italic}.work-list{border-top:1px solid var(--rule);opacity:0}.work-row{border-bottom:1px solid var(--rule);cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:space-between;align-items:baseline;gap:20px;padding:26px 0;transition:transform .22s,border-color .22s,padding-left .22s;display:flex;position:relative}.work-row:hover{border-bottom-color:#8a84788c;padding-left:4px;transform:translate(8px)}.work-row:hover .work-meta{color:var(--bone)}.work-row:focus-visible{outline:1px solid var(--bone-dim);outline-offset:6px}.work-title{will-change:transform, color;font-family:Space Grotesk,sans-serif;font-size:clamp(22px,3.4vw,30px);font-weight:500;display:inline-block}.work-row[data-accent=cacao]:hover .work-title{color:var(--cacao)}.work-row[data-accent=sage]:hover .work-title{color:var(--sage)}.work-row[data-accent=concrete]:hover .work-title{color:var(--concrete)}.work-meta{letter-spacing:.08em;text-transform:uppercase;color:var(--bone-dim);white-space:nowrap;flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:11px}footer{letter-spacing:.1em;text-transform:uppercase;opacity:0;gap:28px;max-width:640px;margin:0 auto;padding:0 24px 10vh;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}footer a{color:var(--bone-dim);border-bottom:1px solid var(--rule);padding-bottom:2px;text-decoration:none}footer a:hover{color:var(--bone);border-color:var(--bone-dim)}#peek{pointer-events:none;z-index:40;opacity:0;filter:grayscale()contrast(1.05);width:230px;height:290px;position:fixed;top:0;left:0;overflow:hidden;transform:translate(-50%,-50%)scale(.9)}#peek img{object-fit:cover;width:100%;height:100%;display:block}#peek:after{content:"";mix-blend-mode:multiply;opacity:.55;position:absolute;inset:0}#peek[data-accent=cacao]:after{background:var(--cacao)}#peek[data-accent=sage]:after{background:var(--sage)}#peek[data-accent=concrete]:after{background:var(--concrete)}#curtain{z-index:60;clip-path:circle(0%);pointer-events:none;display:block;position:fixed;inset:0;overflow-y:hidden}#curtainScroll{scrollbar-width:none;-ms-overflow-style:none}#curtainScroll::-webkit-scrollbar{display:none}#curtain[data-accent=cacao]{background:var(--cacao)}#curtain[data-accent=sage]{background:var(--sage)}#curtain[data-accent=concrete]{background:var(--concrete)}.detail{max-width:640px;color:var(--ink);opacity:0;margin:80px auto 120px;padding:0 24px}.detail-close{letter-spacing:.14em;text-transform:uppercase;color:inherit;cursor:pointer;opacity:0;z-index:61;background:0 0;border:none;font-family:IBM Plex Mono,monospace;font-size:11px;position:fixed;top:32px;right:32px}.detail-close:hover{opacity:1!important}.detail-tag{letter-spacing:.14em;text-transform:uppercase;opacity:.7;margin-bottom:18px;font-family:IBM Plex Mono,monospace;font-size:11px}.detail h2{margin:0 0 22px;font-family:Space Grotesk,sans-serif;font-size:clamp(30px,5vw,48px);font-weight:500}.detail img{object-fit:cover;filter:grayscale();width:100%;height:280px;margin-bottom:24px}.detail p{max-width:56ch;margin:0 0 28px;font-size:15px;line-height:1.75}.detail-link{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid;margin-top:16px;padding-bottom:2px;font-family:IBM Plex Mono,monospace;font-size:12px;text-decoration:none;display:inline-block}.case-study-body{margin-top:32px}.cs-section{margin-bottom:32px}.cs-section h3{letter-spacing:.1em;text-transform:uppercase;opacity:.6;margin:0 0 12px;font-family:IBM Plex Mono,monospace;font-size:11px}.cs-section p{margin:0}.tech-stack-container{flex-wrap:wrap;gap:8px;display:flex}.tech-pill{letter-spacing:.05em;background:#ffffff1a;border:1px solid #00000026;border-radius:100px;padding:6px 12px;font-family:IBM Plex Mono,monospace;font-size:11px}@media (max-width:640px){#peek,.theme-label{display:none}}.chatbot-toggle{background:var(--bone);width:56px;height:56px;color:var(--ink);z-index:100;cursor:pointer;letter-spacing:.1em;border:none;border-radius:50%;justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500;transition:transform .2s,background .3s;display:flex;position:fixed;bottom:32px;right:32px;box-shadow:0 8px 24px #0003}.chatbot-toggle:hover{transform:scale(1.05)}.chatbot-window{background:var(--ink);border:1px solid var(--rule);z-index:99;border-radius:12px;flex-direction:column;width:340px;height:480px;max-height:calc(100vh - 140px);display:flex;position:fixed;bottom:104px;right:32px;overflow:hidden;box-shadow:0 12px 48px #0000004d}.chatbot-header{border-bottom:1px solid var(--rule);letter-spacing:.1em;color:var(--bone);text-transform:uppercase;background:#ffffff05;justify-content:space-between;align-items:center;padding:16px 20px;font-family:IBM Plex Mono,monospace;font-size:12px;display:flex}.chatbot-header button{color:var(--bone-dim);cursor:pointer;background:0 0;border:none;font-size:16px}.chatbot-header button:hover{color:var(--bone)}.chatbot-messages{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.chatbot-messages::-webkit-scrollbar{display:none}.chat-message{flex-direction:column;display:flex}.chat-message.user{align-items:flex-end}.chat-message.bot{align-items:flex-start}.chat-bubble{border-radius:12px;max-width:85%;padding:12px 16px;font-family:Inter,sans-serif;font-size:14px;line-height:1.5}.chat-message.bot .chat-bubble{color:var(--bone);background:#ffffff0d;border-bottom-left-radius:4px}.chat-message.user .chat-bubble{background:var(--bone);color:var(--ink);border-bottom-right-radius:4px}.chatbot-input-form{border-top:1px solid var(--rule);background:#0003;padding:12px;display:flex}.chatbot-input{color:var(--bone);background:0 0;border:none;outline:none;flex:1;padding:8px 12px;font-family:Inter,sans-serif;font-size:14px}.chatbot-input::placeholder{color:var(--bone-dim)}.chatbot-send{color:var(--bone);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;background:0 0;border:none;padding:8px 12px;font-family:IBM Plex Mono,monospace;font-size:11px;transition:color .2s}.chatbot-send:hover{color:var(--bone-dim)}@media (max-width:640px){.chatbot-window{border:none;border-radius:0;width:100%;height:100vh;max-height:100vh;bottom:0;right:0}.chatbot-toggle{bottom:20px;right:20px}}
