:root{--font: Consolas, "Cascadia Mono", "Courier New", monospace;--bg: #111111;--text: #e4e4e4;--muted: #8a8a8a;--line: #262626;--accent: #e6b450;--green: #4ade80}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:72px}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.page{max-width:1040px;margin:0 auto;padding:0 24px}.muted{color:var(--muted)}.nav{position:sticky;top:0;z-index:10;background:#111c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav-inner{display:flex;justify-content:space-between;align-items:center;height:72px;font-size:14px}.nav-me,.nav nav a{display:inline-flex;align-items:center;min-height:44px}.nav nav a{padding:0 8px}.nav-me:hover{color:var(--accent)}.nav nav{display:flex;gap:8px;margin-right:-8px}.nav nav a{color:var(--muted);transition:color .15s}.nav nav a:hover,.nav nav a.active{color:var(--accent)}.hero{padding:min(14vh,120px) 0 32px}.hero+.section{margin-top:64px}.hero-hi{color:var(--muted);margin-bottom:18px}.hero h1{font-size:clamp(34px,6vw,68px);line-height:1.12;font-weight:400;letter-spacing:-.02em;max-width:16ch}.hero h1 em{display:block;font-style:normal;color:var(--accent)}@media(min-width:600px){.hero h1 em{white-space:nowrap}}.hero-meta{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:36px;font-size:14px;color:var(--muted)}.hero-meta b{color:var(--text);font-weight:400}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;background:var(--green);box-shadow:0 0 10px var(--green);animation:pulse 2.4s ease-in-out infinite}.dot.busy{background:var(--muted);box-shadow:none;animation:none}@keyframes pulse{50%{opacity:.45}}.section{margin-top:90px}.section h2{font-size:13px;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);padding-bottom:14px;border-bottom:1px solid var(--line)}.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.js .reveal.visible{opacity:1;transform:none}.services-intro{font-size:17px;max-width:56ch;margin:28px 0 8px}.services{display:grid;grid-template-columns:repeat(2,1fr);column-gap:48px}.service{display:grid;grid-template-columns:40px 1fr;gap:4px 16px;padding:22px 0;border-bottom:1px solid var(--line)}.service-num{color:var(--muted);font-size:13px;padding-top:4px}.service h3{font-size:19px;font-weight:400;transition:color .2s}.service:hover h3{color:var(--accent)}.service p{grid-column:2;color:var(--muted);font-size:14px}.section-intro{color:var(--muted);margin-top:20px}.work-card{display:grid;grid-template-columns:56px 1fr minmax(0,.9fr);gap:24px;align-items:start;padding:32px 0;border-bottom:1px solid var(--line)}.work-num{color:var(--muted);font-size:14px;padding-top:8px}.work-body{display:grid;gap:10px;justify-items:start}.work-body h3{font-size:clamp(22px,2.6vw,28px);font-weight:400;line-height:1.3}.work-body h3 a{transition:color .2s}.work-body h3 a:hover{color:var(--accent)}.work-year{color:var(--muted);font-size:13px;margin-top:-6px}.work-body p{color:var(--muted);font-size:15px;max-width:60ch}.work-stack{font-size:13px;color:var(--accent);opacity:.85}.work-shot{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:6px}.work-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.btn{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:4px;font-size:14px;color:var(--text);transition:background .15s,color .15s,border-color .15s}.btn:hover,.btn-primary{border-color:var(--accent);color:var(--accent)}.btn-primary:hover{background:var(--accent);color:var(--bg)}.case{padding-top:40px}.case-back{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--muted)}.case-back:hover{color:var(--accent)}.case-head{padding:40px 0 36px}.case-head h1{font-size:clamp(34px,5.5vw,60px);line-height:1.12;font-weight:400;letter-spacing:-.02em;color:var(--text)}.case-lead{font-size:17px;max-width:60ch;margin-top:20px;color:var(--muted)}.case-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 32px;margin-top:32px;font-size:14px}.case-meta div{padding:10px 0;border-bottom:1px dashed var(--line)}.case-meta dt{color:var(--muted);font-size:13px}.case-meta a{color:var(--accent);border-bottom:1px solid currentColor}.case-shots{display:grid;grid-template-columns:1fr .3fr;gap:20px;align-items:start}.case-shots img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:6px}.case-section{display:grid;grid-template-columns:200px 1fr;gap:24px;margin-top:64px;padding-top:18px;border-top:1px solid var(--line)}.case-section h2{font-size:13px;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.case-section>:not(h2){grid-column:2}.case-section p{font-size:16px;max-width:64ch;margin-bottom:14px}.case-list{list-style:none;max-width:64ch;font-size:16px}.case-list li{position:relative;padding:8px 0 8px 22px;border-bottom:1px dashed var(--line)}.case-list li:before{content:"—";position:absolute;left:0;color:var(--accent)}.case-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px}.case-tags li{padding:4px 12px;border:1px solid var(--line);border-radius:4px;font-size:14px;color:var(--accent)}.about{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;margin-top:28px}.about p{font-size:17px;margin-bottom:16px}.about ul{list-style:none;font-size:15px}.about li{padding:10px 0;border-bottom:1px dashed var(--line);color:var(--muted)}.about li b{display:block;color:var(--text);font-weight:400}.contact-note{color:var(--muted);margin:28px 0 12px}.contact-email{display:flex;flex-wrap:wrap;align-items:baseline;gap:16px}.contact-email .big{font-size:clamp(24px,5vw,54px);border-bottom:2px solid var(--accent);overflow-wrap:anywhere;transition:color .15s}.contact-email .big:hover{color:var(--accent)}.copy{font-size:13px;padding:3px 10px;border:1px solid var(--line);border-radius:4px;color:var(--muted)}.copy:hover{color:var(--accent);border-color:var(--accent)}.contact-links{display:flex;gap:24px;margin-top:24px;font-size:14px;color:var(--muted)}.contact-links a{display:inline-flex;align-items:center;min-height:44px}.contact-links a:hover{color:var(--accent)}.estimator{margin:28px 0 56px;padding:24px;border:1px solid var(--line);border-radius:6px}.est-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.est-head h3{font-size:20px;font-weight:400}.est-step{border:0;margin-top:22px}.est-step legend{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.est-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.est-options-3{grid-template-columns:repeat(3,1fr)}.est-option{position:relative;display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:4px;cursor:pointer;transition:border-color .15s,color .15s}.est-option:hover{border-color:var(--muted)}.est-option.checked{border-color:var(--accent)}.est-option.checked b{color:var(--accent)}.est-option input{position:absolute;opacity:0;pointer-events:none}.est-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.est-option b{font-weight:400;font-size:15px}.est-option span{font-size:12px;color:var(--muted)}.est-price{font-size:clamp(24px,4vw,36px);color:var(--accent);margin:4px 0}.est-disclaimer{font-size:13px;color:var(--muted);margin-top:10px}.est-send{margin-top:18px;padding:10px 18px;border:1px solid var(--accent);border-radius:4px;color:var(--accent);transition:background .15s,color .15s}.est-send:hover:not(:disabled){background:var(--accent);color:var(--bg)}.est-send:disabled{opacity:.6;cursor:wait}.est-details{display:grid;gap:14px}.est-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.est-field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.est-field input,.est-field textarea{width:100%;padding:10px 12px;background:transparent;border:1px solid var(--line);border-radius:4px;color:var(--text);font:inherit;font-size:15px}.est-field input:focus,.est-field textarea:focus{outline:none;border-color:var(--accent)}.est-field [aria-invalid=true]{border-color:#f87171}.est-error{font-size:13px;color:#f87171;margin-top:4px}.est-hp{position:absolute;left:-9999px;width:1px;height:1px}.est-turnstile{margin-top:22px}.est-turnstile:empty{display:none}.est-sent p{color:var(--muted)}.est-sent .est-price{margin-bottom:6px}.contact-or{color:var(--muted);margin-bottom:8px}.footer{display:flex;justify-content:space-between;margin-top:120px;padding-top:24px;padding-bottom:40px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}@media(max-width:720px){html{scroll-padding-top:96px}.page{padding:0 16px}.nav-inner{flex-direction:column;align-items:flex-start;justify-content:center;gap:0;height:auto;padding-top:4px;padding-bottom:4px}.nav nav{gap:0;width:calc(100% + 8px);margin:0 0 0 -8px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.nav nav::-webkit-scrollbar{display:none}.hero{padding:48px 0 16px}.hero-hi{margin-bottom:12px}.hero-meta{flex-direction:column;gap:6px;margin-top:28px}.section{margin-top:64px}.hero+.section{margin-top:40px}.footer{margin-top:80px}.about{grid-template-columns:1fr;gap:24px}.about p,.services-intro{font-size:16px}.services{grid-template-columns:1fr}.service{grid-template-columns:32px 1fr;gap:4px 12px;padding:18px 0}.work-card{grid-template-columns:1fr;gap:16px;padding:24px 0}.work-num{display:none}.case{padding-top:16px}.case-head{padding:24px 0 28px}.case-lead{font-size:16px}.case-shots{grid-template-columns:1fr}.case-shot-mobile{display:none}.case-section{grid-template-columns:1fr;gap:12px;margin-top:44px}.case-section>:not(h2){grid-column:1}.case-section p,.case-list{font-size:15px}.contact-links{flex-wrap:wrap;gap:12px 24px}.estimator{padding:16px;margin-bottom:40px}.est-options{grid-template-columns:1fr 1fr}.est-options-3,.est-row{grid-template-columns:1fr}}@media(max-width:380px){.nav-inner{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}.dot{animation:none}}.placeholder{min-height:100vh;display:flex;align-items:center}.placeholder .hero{padding:48px 0}.placeholder-note{color:var(--muted);font-size:18px;margin:20px 0 28px}.placeholder .hero-meta a:hover b{color:var(--accent)}.placeholder .contact-links{margin-top:28px}.placeholder .hero h1{font-size:clamp(32px,5vw,52px);max-width:28ch}
