@import "https://fonts.googleapis.com/css2?family=Archivo:wght@500;700;900&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--paper:#faf8f3;--ink:#14171f;--ink-muted:#565f6e;--accent:#1f3d82;--accent-ink:#fff;--surface:#fff;--line:#e1ddd3;--concrete:#8c8477;--shadow:0 24px 48px -28px #14171f47}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#14161b;--ink:#edebe5;--ink-muted:#9ba3b0;--accent:#7c9ae8;--accent-ink:#0e1116;--surface:#1b1e24;--line:#2b2f37;--concrete:#847c6e;--shadow:0 24px 48px -28px #0009}}:root[data-theme=dark]{--paper:#14161b;--ink:#edebe5;--ink-muted:#9ba3b0;--accent:#7c9ae8;--accent-ink:#0e1116;--surface:#1b1e24;--line:#2b2f37;--concrete:#847c6e;--shadow:0 24px 48px -28px #0009}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;opacity:0;margin:0;font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.65;animation:.5s forwards page-in}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}body{opacity:1;animation:none}}img{max-width:100%;display:block}a{color:inherit}.wrap{max-width:1180px;margin-inline:auto;padding-inline:24px}h1,h2,h3{text-wrap:balance;letter-spacing:-.01em;margin:0;font-family:Archivo,sans-serif;font-weight:900}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--concrete);align-items:center;gap:10px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12.5px;display:flex}.eyebrow:before{content:"";background:var(--concrete);width:22px;height:1px;display:inline-block}.eyebrow.center{justify-content:center}.eyebrow.center:before{display:none}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(18px)}.reveal-stagger.is-visible>*{opacity:1;transform:translateY(0)}.reveal-stagger.is-visible>:first-child{transition-delay:0s}.reveal-stagger.is-visible>:nth-child(2){transition-delay:80ms}.reveal-stagger.is-visible>:nth-child(3){transition-delay:.16s}.reveal-stagger.is-visible>:nth-child(4){transition-delay:.24s}@media (prefers-reduced-motion:reduce){.reveal,.reveal-stagger>*{opacity:1;transition:none;transform:none}}header{top:env(safe-area-inset-top,0px);z-index:40;background:color-mix(in srgb, var(--paper) 88%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky}.nav-row{justify-content:space-between;align-items:center;gap:20px;padding-block:16px;display:flex}.logo{letter-spacing:-.01em;white-space:nowrap;align-items:baseline;gap:8px;font-family:Archivo,sans-serif;font-size:16.5px;font-weight:900;text-decoration:none;display:flex}.logo span{color:var(--concrete);letter-spacing:.08em;font-family:IBM Plex Mono;font-size:11px;font-weight:400}nav.links{gap:28px;display:flex}nav.links a{color:var(--ink-muted);padding-block:4px;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s;position:relative}nav.links a:hover,nav.links a:focus-visible,nav.links a.current{color:var(--ink)}nav.links a.current:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-2px;left:0;right:0}.nav-right{align-items:center;gap:18px;display:flex}.btn{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);white-space:nowrap;border-radius:2px;align-items:center;gap:8px;padding:11px 18px;font-family:IBM Plex Mono;font-size:12.5px;text-decoration:none;transition:transform .15s,box-shadow .15s,background .2s;display:inline-flex}.btn:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn-ghost{color:var(--ink)}.btn-ghost.on-dark{color:#fff;border-color:#ffffff80}.burger{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:38px;height:38px;display:none}.burger span{background:var(--ink);width:18px;height:2px;transition:transform .25s,opacity .25s;display:block}.burger[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){opacity:0}.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.page-header{background:linear-gradient(180deg, #0a0c12db, #0a0c12b8), var(--ink);color:#fff;background-position:50%;background-size:cover;padding-block:120px 64px;position:relative;overflow:hidden}.page-header .wrap{position:relative}.page-header .eyebrow,.page-header h1,.page-header p{text-shadow:0 2px 20px #0000008c}.page-header .eyebrow{color:#c9ceda}.page-header .eyebrow:before{background:#c9ceda}.page-header h1{color:#fff;margin-top:12px;font-size:clamp(30px,4.6vw,46px)}.page-header p{color:#e7e9ef;max-width:58ch;margin-top:14px;font-size:16px}.hero{background:#0e1015;align-items:end;min-height:min(88vh,720px);display:grid;position:relative;overflow:hidden}.hero .bg{object-fit:cover;will-change:transform;z-index:0;grid-area:1/1;width:108%;height:108%;position:absolute;inset:-4%}.hero:after{content:"";z-index:1;background:linear-gradient(#0a0c12db,#0a0c12b8);grid-area:1/1;position:absolute;inset:0}.hero .wrap{z-index:2;grid-area:1/1;gap:36px;width:100%;padding-block:64px 48px;display:grid;position:relative}.hero-copy{max-width:760px}.hero-copy .eyebrow,.hero h1,.hero h1 em,.hero p.lede{color:#fff;text-shadow:0 2px 20px #0000008c}.hero-copy .eyebrow:before{background:#fff}.hero h1{margin-top:14px;font-size:clamp(34px,5.4vw,60px);line-height:1.04}.hero h1 em{font-style:normal}.hero p.lede{max-width:58ch;margin-top:18px;font-size:16.5px}.hero .cta-row{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.titleblock{backdrop-filter:blur(4px);background:#06080d80;border:1px solid #ffffff47;grid-template-columns:repeat(4,minmax(120px,1fr));display:grid}.titleblock div{border-left:1px solid #ffffff2e;padding:16px 18px}.titleblock div:first-child{border-left:none}.titleblock .k{letter-spacing:.1em;text-transform:uppercase;color:#fff;opacity:.9;text-shadow:0 1px 3px #000000e6;font-family:IBM Plex Mono;font-size:10.5px}.titleblock .v{color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #000000e6;margin-top:4px;font-family:Archivo;font-size:20px;font-weight:700}section{border-bottom:1px solid var(--line);padding-block:96px}section.tight{padding-block:80px}section:last-of-type{border-bottom:none}.split{grid-template-columns:.85fr 1.15fr;align-items:start;gap:64px;display:grid}.split .head{position:sticky;top:96px}.split h2{margin-top:12px;font-size:clamp(24px,3vw,34px)}.split .body p{color:var(--ink-muted);max-width:62ch;font-size:16.5px}.split .body a.readmore{color:var(--accent);align-items:center;gap:8px;margin-top:8px;font-size:15px;font-weight:600;text-decoration:none;transition:gap .2s;display:inline-flex}.split .body a.readmore:hover{gap:12px}.values-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:56px;display:grid}.value-card{background:var(--surface);justify-items:start;gap:14px;padding:36px 28px;transition:background .2s;display:grid}.value-card:hover{background:color-mix(in srgb, var(--accent) 6%, var(--surface))}.value-card svg{width:30px;height:30px;color:var(--accent)}.value-card h3{letter-spacing:.02em;font-size:16px}.value-card p{color:var(--ink-muted);margin:0;font-size:14.5px}.filter-row{flex-wrap:wrap;gap:10px;margin-top:32px;display:flex}.filter-btn{letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--line);color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:2px;padding:9px 16px;font-family:IBM Plex Mono;font-size:12px;transition:all .2s}.filter-btn:hover{color:var(--ink);border-color:var(--concrete)}.filter-btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.projects-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px;display:grid}.projects-grid.list-page{grid-template-columns:repeat(3,1fr)}.project-card{background:var(--surface);border-radius:2px;transition:opacity .3s,transform .3s;position:relative;overflow:hidden}.project-card.is-hidden{display:none}.project-card img{z-index:0;width:100%;height:auto;transition:transform .5s;display:block;position:relative}.project-card:hover img{transform:scale(1.04)}.project-card:after{content:"";z-index:1;background:linear-gradient(#080a1000 38%,#080a1026 60%,#080a10db 100%);position:absolute;inset:0}.project-card .pc-meta{color:#fff;z-index:2;gap:6px;padding:20px;display:grid;position:absolute;bottom:0;left:0;right:0}.project-card .pc-count{letter-spacing:.08em;color:#b9cbff;text-transform:uppercase;font-family:IBM Plex Mono;font-size:11px}.project-card .pc-title{font-family:Archivo;font-size:17px;font-weight:700;line-height:1.2}.logo-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:44px;display:grid}.logo-cell{background:var(--surface);justify-content:center;align-items:center;min-height:128px;padding:22px;display:flex}.logo-cell img{object-fit:contain;filter:grayscale()contrast(1.05);opacity:.72;width:auto;max-width:100%;max-height:64px;transition:opacity .25s,filter .25s}.logo-cell:hover img{filter:none;opacity:1}.cta-band{background:var(--ink);color:var(--paper);padding-block:72px}.cta-band .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;display:flex}.cta-band h2{color:var(--paper);max-width:22ch;font-size:clamp(22px,3vw,30px)}.cta-band .btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.detail-grid{grid-template-columns:1.3fr .9fr;gap:56px;display:grid}.spec-list{gap:18px;margin-top:24px;display:grid}.spec-list div{border-bottom:1px solid var(--line);padding-bottom:14px}.spec-list .k{letter-spacing:.08em;text-transform:uppercase;color:var(--concrete);margin-bottom:6px;font-family:IBM Plex Mono;font-size:11px}.spec-list .v{font-family:Archivo;font-size:16px;font-weight:700}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;display:grid}.gallery-grid button{cursor:pointer;aspect-ratio:4/3;background:0 0;border:0;border-radius:2px;padding:0;overflow:hidden}.gallery-grid img{object-fit:cover;width:100%;height:100%;transition:transform .4s,filter .3s}.gallery-grid button:hover img{transform:scale(1.05)}.project-nav{border-top:1px solid var(--line);justify-content:space-between;margin-top:40px;padding-top:24px;display:flex}.project-nav a{color:var(--ink-muted);align-items:center;gap:8px;font-family:IBM Plex Mono;font-size:12.5px;text-decoration:none;transition:color .2s;display:flex}.project-nav a:hover{color:var(--accent)}.lightbox{z-index:100;background:#06080eeb;justify-content:center;align-items:center;padding:32px;display:none;position:fixed;inset:0}.lightbox.open{display:flex}.lightbox img{object-fit:contain;border-radius:2px;max-width:min(1100px,92vw);max-height:86vh}.lightbox button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;transition:background .2s;display:flex;position:absolute}.lightbox button:hover{background:#fff3}.lightbox .lb-close{top:24px;right:24px}.lightbox .lb-prev{top:50%;left:24px;transform:translateY(-50%)}.lightbox .lb-next{top:50%;right:24px;transform:translateY(-50%)}[data-count]{font-variant-numeric:tabular-nums}footer{padding-block:56px 40px;padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}.tb-footer{background:var(--line);border:1px solid var(--line);grid-template-columns:1.4fr 1fr 1fr 1fr;gap:1px;display:grid}.tb-footer>div{background:var(--paper);padding:22px 24px}.tb-footer .k{letter-spacing:.1em;text-transform:uppercase;color:var(--concrete);margin-bottom:8px;font-family:IBM Plex Mono;font-size:10.5px}.tb-footer .company{font-family:Archivo;font-size:19px;font-weight:900}.tb-footer a{color:var(--ink);text-decoration:none;transition:color .2s}.tb-footer nav{gap:8px;font-size:14px;display:grid}.tb-footer nav a:hover{color:var(--accent)}.foot-strip{border-top:1px solid var(--line);color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding-top:18px;font-family:IBM Plex Mono;font-size:11.5px;display:flex}.contact-grid{grid-template-columns:1fr 1fr;gap:56px;display:grid}.contact-info{gap:22px;display:grid}.contact-info .row{align-items:flex-start;gap:16px;display:flex}.contact-info svg{width:22px;height:22px;color:var(--accent);flex:none;margin-top:2px}.field{gap:8px;display:grid}.field label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-family:IBM Plex Mono;font-size:11.5px}.field input,.field textarea{border:1px solid var(--line);background:var(--surface);color:var(--ink);resize:vertical;border-radius:2px;padding:12px 14px;font-family:IBM Plex Sans;font-size:15px}.field input:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px}form{gap:18px;display:grid}.job-list{background:var(--line);border:1px solid var(--line);gap:1px;margin-top:40px;display:grid}.job-row{background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px;display:flex}.job-row .jt{font-family:Archivo;font-size:17px;font-weight:700}.job-row .jm{color:var(--ink-muted);margin-top:4px;font-family:IBM Plex Mono;font-size:12px}@media (width<=860px){nav.links{background:var(--paper);border-bottom:1px solid var(--line);opacity:0;pointer-events:none;flex-direction:column;gap:18px;padding:20px 24px;transition:all .25s;position:fixed;inset:64px 0 auto;transform:translateY(-12px)}nav.links.open{opacity:1;pointer-events:auto;transform:translateY(0)}.burger{display:flex}.split{grid-template-columns:1fr;gap:28px}.split .head{position:static}.values-grid,.projects-grid,.projects-grid.list-page,.logo-grid,.titleblock{grid-template-columns:repeat(2,1fr)}.titleblock div:nth-child(3){border-left:none}.tb-footer{grid-template-columns:1fr 1fr}.detail-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.projects-grid,.projects-grid.list-page,.values-grid,.logo-grid,.tb-footer{grid-template-columns:1fr}}
