:root,:root[data-theme=dark]{--bg:#0d1117;--bg-alt:#11161f;--panel:#161d28;--panel-edge:#232c3a;--text:#e6ebf2;--muted:#9aa7b8;--accent:#4cc2a9;--accent-ink:#0b1210;--accent-dim:rgba(76,194,169,0.12);--nav-bg:rgba(13,17,23,0.85);--media-bg:#0a0e14;--hero-glow:#1d2634;--shadow:rgba(0,0,0,0.45);--backdrop:rgba(5,8,12,0.78);--radius:12px;--maxw:1120px;color-scheme:dark}:root[data-theme=light]{--bg:#f7f8fa;--bg-alt:#eef1f5;--panel:#ffffff;--panel-edge:#dde3ea;--text:#121821;--muted:#536173;--accent:#1f8f78;--accent-ink:#ffffff;--accent-dim:rgba(31,143,120,0.1);--nav-bg:rgba(247,248,250,0.88);--media-bg:#e6eaef;--hero-glow:#e3ebf3;--shadow:rgba(18,24,33,0.12);--backdrop:rgba(18,24,33,0.55);color-scheme:light}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);overflow-x:hidden;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:var(--nav-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--panel-edge)}.nav-inner{display:flex;align-items:center;gap:28px;height:64px}.brand{font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:1rem;font-weight:600;color:var(--text);letter-spacing:-.02em}.brand span{color:var(--accent)}.brand i{color:var(--muted);font-style:normal}.brand:hover{text-decoration:none}.nav-links{display:flex;gap:22px;margin-left:auto}.nav-links a{color:var(--muted);font-size:.92rem}.nav-links a:hover{color:var(--text);text-decoration:none}.btn{display:inline-block;padding:13px 26px;border-radius:8px;font-weight:600;font-size:.97rem;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;border:1px solid transparent}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-accent{background:var(--accent);color:var(--accent-ink)}.btn-accent:hover{filter:brightness(1.1);box-shadow:0 6px 24px rgba(76,194,169,.25)}.btn-ghost{border-color:var(--panel-edge);color:var(--text)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-sm{padding:8px 16px;font-size:.86rem}.hero{background:radial-gradient(1100px 600px at 75% 10%,var(--hero-glow) 0,transparent 60%),var(--bg);border-bottom:1px solid var(--panel-edge);padding-top:64px}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-gap:48px;gap:48px;align-items:center}.eyebrow{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;color:var(--accent);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px}.hero h1{font-size:clamp(2.1rem,4.6vw,3.3rem);line-height:1.12;letter-spacing:-.025em;margin-bottom:22px}.hero h1 em{font-style:normal;color:var(--accent)}.lede{font-size:1.12rem;color:var(--muted);max-width:52ch;margin-bottom:32px}.hero-cta{display:flex;gap:14px;flex-wrap:wrap}.hero-cta.center{justify-content:center}.hero-photo{position:relative;justify-self:center}.hero-photo img{display:block;width:min(400px,80vw);height:auto;border-radius:18px;box-shadow:0 24px 60px var(--shadow)}.hero-photo:after{content:none;position:absolute;inset:-8%;background:radial-gradient(60% 55% at 50% 42%,rgba(76,194,169,.07),transparent 70%);pointer-events:none}.stats{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:1px;gap:1px;background:var(--panel-edge);border:1px solid var(--panel-edge);border-radius:var(--radius);overflow:hidden;margin:56px auto 0;transform:translateY(50%);list-style:none}.stat{background:var(--panel);text-align:center;padding:18px 8px}.stat strong{display:block;font-size:1.25rem;letter-spacing:-.02em}.stat span{font-size:.78rem;color:var(--muted)}.section{padding:130px 0 90px}.section-alt{background:var(--bg-alt);border-top:1px solid var(--panel-edge);border-bottom:1px solid var(--panel-edge)}.section h2{font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.02em;margin-bottom:18px}.kicker{display:block;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.78rem;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;font-weight:400}.section-intro{color:var(--muted);max-width:64ch;margin-bottom:40px}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px;margin-top:36px}.card{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);padding:28px 26px}.card h3{font-size:1.08rem;margin-bottom:12px;letter-spacing:-.01em}.card p{color:var(--muted);font-size:.95rem}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px}.project{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);overflow:hidden;cursor:pointer;text-align:left;padding:0;color:inherit;font:inherit;transition:transform .18s ease,box-shadow .18s ease}.project:focus-visible,.project:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 14px 38px var(--shadow);outline:none}.project .thumb{aspect-ratio:16/10;width:100%;overflow:hidden;background:var(--media-bg)}.project .thumb img{width:100%;height:100%;object-fit:contain;display:block}.project .label{padding:14px 18px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.project .label h3{font-size:.99rem;font-weight:600;letter-spacing:-.01em}.project .label small{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;color:var(--muted);font-size:.72rem;white-space:nowrap}.cards-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.quote{background:var(--panel);border:1px solid var(--panel-edge);border-left:3px solid var(--accent);border-radius:var(--radius);padding:26px 28px}.quote p{font-size:1rem;margin-bottom:14px}.quote footer{color:var(--muted);font-size:.85rem}.review-tags{margin-top:34px;color:var(--muted);font-size:.9rem}.review-tags span{display:inline-block;background:var(--accent-dim);color:var(--accent);border-radius:99px;padding:3px 12px;margin:4px 3px;font-size:.8rem}.contact-box{text-align:center}.contact-box .section-intro{margin-left:auto;margin-right:auto}.contact-links{margin-top:28px;color:var(--muted);font-size:.92rem}.footer{padding:36px 0;text-align:center;color:var(--muted);font-size:.85rem}.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.modal[hidden]{display:none}.modal-backdrop{position:absolute;inset:0;background:var(--backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-panel{position:relative;background:var(--bg-alt);border:1px solid var(--panel-edge);border-radius:16px;max-width:720px;width:100%;max-height:88vh;overflow-y:auto;box-shadow:0 30px 80px var(--shadow);animation:pop .22s ease}@keyframes pop{0%{opacity:0;transform:translateY(14px) scale(.985)}}.modal-close{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border-radius:50%;background:var(--nav-bg);color:var(--text);border:1px solid var(--panel-edge);font-size:1.3rem;cursor:pointer}.modal-close:hover{border-color:var(--accent);color:var(--accent)}.pv-hero{aspect-ratio:16/10;overflow:hidden;border-radius:16px 16px 0 0;background:var(--media-bg)}.pv-hero img{width:100%;height:100%;object-fit:cover;display:block}.pv-content{padding:30px 34px 36px}.pv-content h3{font-size:1.45rem;letter-spacing:-.02em;margin-bottom:6px}.pv-tagline{color:var(--muted);margin-bottom:18px}.pv-role{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8rem;color:var(--accent);margin-bottom:18px}.pv-content h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:22px 0 10px}.pv-content p{color:var(--text);font-size:.96rem}.pv-content ul{list-style:none}.pv-content ul li{position:relative;padding-left:20px;margin-bottom:8px;color:var(--text);font-size:.94rem}.pv-content ul li:before{content:"▸";position:absolute;left:0;color:var(--accent)}.tech-chips span{display:inline-block;background:var(--accent-dim);color:var(--accent);border-radius:99px;padding:4px 13px;margin:3px 4px 3px 0;font-size:.8rem;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.pv-quote{border-left:3px solid var(--accent);padding-left:16px;color:var(--muted);font-style:italic;margin:14px 0}.pv-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.pv-links a{border:1px solid var(--panel-edge);border-radius:8px;padding:8px 16px;font-size:.88rem;color:var(--text)}.pv-links a:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:12px;text-align:center}.hero-copy{order:2}.hero-photo{order:1}.hero-photo img{width:min(300px,70vw)}.lede,.lede-sub{margin-left:auto;margin-right:auto}.hero-cta{justify-content:center}.stats{grid-template-columns:repeat(3,1fr);transform:translateY(30%)}.cards-3{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}.cards-2{grid-template-columns:1fr}.nav-links{display:none}.section{padding:90px 0 70px}}@media (max-width:540px){.grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.pv-content{padding:24px 22px 28px}.eyebrow{font-size:.72rem;letter-spacing:.05em}.nav-inner{gap:12px}}button.btn{background:transparent;font:inherit;cursor:pointer}button.btn-accent{background:var(--accent)}.center{text-align:center;margin-left:auto;margin-right:auto}.muted{color:var(--muted)}.theme-toggle{width:36px;height:36px;border-radius:50%;cursor:pointer;background:transparent;color:var(--text);font-size:1rem;border:1px solid var(--panel-edge);flex:none}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.hire-link{margin-top:18px;color:var(--muted);font-size:.95rem}.pillar{position:relative;border-top:3px solid var(--accent)}.pillar-num{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;color:var(--accent);font-size:.8rem;letter-spacing:.1em}.pillar h3{margin-top:6px;font-size:1.2rem}.pillar-proof{margin-top:16px;padding-top:14px;border-top:1px dashed var(--panel-edge);color:var(--text)!important;font-size:.9rem!important}.lead-list{display:grid;grid-gap:28px;gap:28px;margin-bottom:70px}.lead{background:var(--panel);border:1px solid var(--panel-edge);border-radius:18px;overflow:hidden}.lead-media{display:block;width:100%;border:0;padding:0;cursor:pointer;background:#0d1117;aspect-ratio:16/10;overflow:hidden}.lead-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.lead-media:hover img{transform:scale(1.01)}.lead-bar{display:flex;align-items:center;gap:16px;padding:16px 22px;flex-wrap:wrap}.lead-bar .pill{margin:0}.lead-bar p{flex:1 1;min-width:220px;font-size:1rem}.lead-open{background:none;border:0;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;padding:8px 0}.lead-open:hover{text-decoration:underline}.pill{display:inline-block;background:var(--accent-dim);color:var(--accent);border-radius:99px;padding:4px 12px;font-size:.8rem;font-weight:600}.sub-h{font-size:1.3rem;letter-spacing:-.01em;margin-bottom:14px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.chip{background:transparent;color:var(--muted);border:1px solid var(--panel-edge);border-radius:99px;padding:7px 15px;font-size:.86rem;cursor:pointer;min-height:36px}.chip:hover{color:var(--text)}.chip.on,.chip:hover{border-color:var(--accent)}.chip.on{background:var(--accent);color:var(--accent-ink)}.archive{margin-top:34px}.archive summary{cursor:pointer;color:var(--muted);font-size:.95rem;padding:12px 0;list-style:none}.archive summary:before{content:"▸ ";color:var(--accent)}.archive[open] summary:before{content:"▾ "}.archive .grid{margin-top:12px}.pv-gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;background:var(--media-bg);padding:16px;border-radius:16px 16px 0 0}.shot{flex:none;border:0;padding:0;background:none;cursor:zoom-in;scroll-snap-align:start;border-radius:10px;overflow:hidden}.shot img{display:block;height:300px;width:auto}.shot.portrait img{height:380px}.shot:focus-visible img,.shot:hover img{outline:2px solid var(--accent);outline-offset:-2px}.gallery-hint{color:var(--muted);font-size:.8rem;padding:8px 18px 0}.pv-pagelink{margin:-8px 0 6px;font-size:.9rem}.lightbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center}.lb-backdrop{position:absolute;inset:0;border:0;background:rgba(4,6,10,.94);cursor:zoom-out}.lb-img{position:relative;max-width:94vw;max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5)}.lb-close,.lb-nav{position:absolute;z-index:2;border:1px solid rgba(255,255,255,.25);background:rgba(20,26,36,.7);color:#fff;border-radius:50%;cursor:pointer;width:46px;height:46px;font-size:1.6rem;line-height:1}.lb-close{top:18px;right:18px}.lb-nav.prev{left:18px}.lb-nav.next,.lb-nav.prev{top:50%;transform:translateY(-50%)}.lb-nav.next{right:18px}.lb-close:hover,.lb-nav:hover{border-color:#4cc2a9;color:#4cc2a9}.lb-count{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#cfd6df;font-size:.85rem}.steps{list-style:none;display:grid;grid-gap:14px;gap:14px;margin-top:34px;counter-reset:s}.steps li{display:flex;gap:18px;align-items:flex-start;background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);padding:20px 22px}.step-num{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--accent-dim);color:var(--accent)}.steps h3{font-size:1.02rem;margin-bottom:4px}.steps p{color:var(--muted);font-size:.95rem}.steps-row{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);grid-gap:14px;gap:14px;margin-top:30px}.steps-row li{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);padding:18px}.steps-row p{margin-top:12px;font-size:.98rem}@media (max-width:900px){.steps-row{grid-template-columns:1fr}.steps-row li{display:flex;gap:14px;align-items:center}.steps-row p{margin-top:0}}.pv-shots{border-top:1px solid var(--panel-edge);border-bottom:1px solid var(--panel-edge)}.pv-shots-h{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:18px 18px 0}.pv-shots .pv-gallery{border-radius:0;background:transparent}.quote-ar{font-size:1.08rem;text-align:right;font-family:Geeza Pro,Segoe UI,Tahoma,sans-serif}.quote-tr{color:var(--muted);font-size:.9rem!important;font-style:italic}.about-text{max-width:68ch}.about-text p{color:var(--muted);font-size:1.05rem;margin-bottom:16px}.about-values{color:var(--text)!important;font-weight:600;border-left:3px solid var(--accent);padding-left:14px}.about-meta{font-size:.92rem!important;margin-top:24px}.doors{display:grid;grid-template-columns:1fr 1fr;grid-gap:22px;gap:22px;margin-top:10px}.door{background:var(--panel);border:1px solid var(--panel-edge);border-radius:16px;padding:30px 30px 32px}.door h3{font-size:1.25rem;margin-bottom:8px}.door p{color:var(--muted);margin-bottom:22px}.door-cta{gap:12px}.door-cta,.footer-links{display:flex;flex-wrap:wrap}.footer-links{justify-content:center;gap:8px;margin-bottom:10px}.footer-links a{padding:10px 14px;min-height:44px;display:inline-flex;align-items:center;color:var(--muted)}.footer-links a:hover{color:var(--accent)}@media (max-width:900px){.doors{grid-template-columns:1fr}.stats{grid-template-columns:repeat(3,1fr)}.nav-inner>.theme-toggle{margin-left:auto}}@media (max-width:540px){.stats{grid-template-columns:repeat(2,1fr)}.stats .stat:last-child{grid-column:span 2}.nav .btn-sm{display:none}.shot img{height:220px}.shot.portrait img{height:300px}.lb-nav{width:40px;height:40px}.door{padding:24px 20px}}.work-page{padding-top:40px}.container.narrow{max-width:900px}.crumbs{margin-bottom:16px;font-size:.92rem}.work-panel{background:var(--bg-alt);border:1px solid var(--panel-edge);border-radius:16px;overflow:hidden}.work-panel .pv-content h3{font-size:1.8rem}.related-h{margin-top:56px}a.project{display:block;color:inherit}a.project:hover{text-decoration:none}