:root{color-scheme:dark;--bg: #0f1419;--surface: #161d25;--fill: #1f2933;--ink: #d8dee6;--text: #9aa5b1;--line: #2c3743;--accent: #00aaaa;--accent-hover: #33c4c4;--accent-ink: #0f1419;--radius: 12px;--border: 1px solid var(--line);--sans: "JetBrains Mono", ui-monospace, monospace;--mono: "JetBrains Mono", ui-monospace, monospace}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.6}a{color:var(--accent)}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,p,ul{margin:0}h1{font-size:clamp(1.75rem,4.5vw,2.75rem);line-height:1.15;font-weight:700}h2{font-size:1.75rem;font-weight:700}h3{font-size:1.125rem;font-weight:700}.container{max-width:1120px;margin:0 auto;padding-left:24px;padding-right:24px}.section{padding-top:64px;padding-bottom:64px;display:flex;flex-direction:column;gap:28px}.band{background:var(--surface);border-top:var(--border);border-bottom:var(--border)}.mono{font-family:var(--mono)}.small{font-size:13px}.muted,.mono.muted{color:var(--text)}.eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.lead{font-size:18px;color:var(--text);max-width:640px}.row{display:flex;flex-wrap:wrap;gap:12px}.row--tight{gap:8px}.row--cards{gap:24px}.row--cards>*{flex:1 1 280px}.placeholder{background:var(--fill);border:1px dashed var(--line);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;font-family:var(--mono);font-size:13px;color:var(--text)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border:var(--border);border-radius:var(--radius);color:var(--ink);text-decoration:none;text-align:center;font-weight:700;transition:border-color .15s,background .15s}.btn:hover{color:var(--ink);border-color:var(--accent)}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-ink)}.btn--inverse{font-weight:400;font-size:14px;min-height:44px;padding:0 16px}.site-header{border-bottom:var(--border)}.site-header__inner{padding-top:18px;padding-bottom:18px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}.site-header__name{color:var(--ink);font-weight:700;font-size:18px;text-decoration:none;padding:10px 0}.site-nav{display:flex;flex-wrap:wrap;gap:8px;font-size:14px}.site-nav a{color:var(--text);padding:12px 10px;text-decoration:none}.site-nav a:hover{color:var(--accent)}.hero{padding-top:72px;padding-bottom:72px;display:flex;flex-wrap:wrap;gap:48px;align-items:center}.hero__text{flex:999 1 420px;min-width:0;display:flex;flex-direction:column;gap:20px}.hero__photo{flex:1 1 280px;aspect-ratio:1 / 1;max-width:320px}.section-head{display:flex;flex-direction:column;gap:8px}.panel{background:var(--bg);border:var(--border);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:10px}.band .panel{background:var(--bg)}.panel--dashed{border-style:dashed;background:transparent}.toolbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}.chip{min-height:44px;padding:0 16px;border:var(--border);border-radius:var(--radius);background:transparent;color:var(--ink);font-family:var(--mono);font-size:13px;cursor:pointer}.chip:hover{border-color:var(--accent)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;align-items:start}.card{text-decoration:none;color:var(--ink);background:var(--surface);border:var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s,transform .15s}.card:hover{color:var(--ink);border-color:var(--accent);transform:translateY(-2px)}.card__image{height:130px;border:none;border-radius:0;border-bottom:1px dashed var(--line);font-size:13px}.card__body{padding:20px;display:flex;flex-direction:column;gap:8px}.card__body h3{font-size:17px;overflow-wrap:anywhere}.card__body p{font-size:14px}.card__body .mono.small{color:var(--accent);font-size:12px}.card__note{font-size:13px;font-weight:700}.timeline{list-style:none;padding:0;border-bottom:var(--border)}.timeline li{display:flex;flex-wrap:wrap;gap:8px 24px;padding:18px 0;border-top:var(--border)}.timeline__when{flex:0 0 160px;font-size:14px}.timeline li>div:last-child{flex:1 1 320px}.site-footer{background:var(--surface);border-top:var(--border)}.site-footer__inner{padding-top:56px;padding-bottom:56px;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center}.site-footer h2{font-size:26px}.site-footer__loc{color:var(--text);margin-top:6px}.project-head{padding-top:48px;padding-bottom:32px;display:flex;flex-direction:column;gap:16px}.project-head h1{font-size:clamp(1.75rem,4.5vw,2.5rem)}.project-head .lead{max-width:720px}.back{font-size:14px;padding:12px 0;align-self:flex-start}.project-hero{height:380px}.project-body{padding-top:56px;padding-bottom:64px;display:flex;flex-wrap:wrap;gap:48px}.project-facts{flex:1 1 240px;gap:20px;align-self:flex-start;background:var(--surface)}.fact{display:flex;flex-direction:column;gap:4px}.fact .eyebrow{font-size:12px;color:var(--text)}.project-content{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:40px}.project-content>div:not(.row){display:flex;flex-direction:column;gap:12px}.project-content h2{font-size:24px}.project-content ul{padding-left:20px;display:flex;flex-direction:column;gap:8px}.before-after{height:200px;width:100%;font-size:13px}img.before-after,img.project-hero,img.card__image,img.hero__photo{display:block;width:100%;object-fit:cover}img.before-after,img.project-hero,img.hero__photo{border:var(--border);border-radius:var(--radius)}img.card__image{height:auto;border-bottom:var(--border)}.gallery-item{margin:0;display:flex;flex-direction:column;gap:8px}.project-foot{border-top:var(--border)}.project-foot__inner{padding-top:32px;padding-bottom:32px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font-size:14px}.project-foot__inner a{padding:12px 0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card,.btn{transition:none}.card:hover{transform:none}}
