:root{--bg:#fff;--fg:#14202b;--muted:#5b6875;--line:#e2e8ee;--tint:#f4f7fa;--accent:#0f5fa8;--accent-d:#0b4a84;--r:12px}
@media (prefers-color-scheme:dark){:root{--bg:#0e141a;--fg:#e8eef4;--muted:#9aa8b6;--line:#243240;--tint:#141d26;--accent:#5aa9ea;--accent-d:#8cc4f5}}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
img{max-width:100%;height:auto}a{color:var(--accent)}a:hover{color:var(--accent-d)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:var(--bg);padding:8px;z-index:9}
.site-header{border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:5}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--fg);font-weight:650;line-height:1.2}
.brand small{display:block;font-weight:400;color:var(--muted);font-size:.75rem}
.mark{background:var(--accent);color:#fff;border-radius:10px;width:40px;height:40px;display:grid;place-items:center;font-size:.9rem}
nav{display:flex;gap:4px;flex-wrap:wrap}nav a{padding:8px 11px;border-radius:8px;text-decoration:none;color:var(--fg);font-size:.95rem}
nav a:hover,nav a[aria-current]{background:var(--tint);color:var(--accent)}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--fg);border-radius:8px;padding:8px 12px;font:inherit}
h1,h2,h3{line-height:1.2;margin:0 0 .5em}h1{font-size:clamp(2rem,5vw,3rem)}h2{font-size:clamp(1.5rem,3vw,2rem)}h3{font-size:1.15rem}
.eyebrow{color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;margin:0 0 8px}
.lead{font-size:1.15rem;color:var(--muted)}
.hero{padding:56px 0}.hero-grid{align-items:center}.page-hero{padding:48px 0 24px;border-bottom:1px solid var(--line);background:var(--tint)}.page-hero .lead{max-width:760px;margin-bottom:0}
.portrait{border-radius:var(--r);width:100%;max-width:420px;justify-self:center;aspect-ratio:1/1.08;object-fit:cover;object-position:50% 20%}
.grid{display:grid;gap:28px}.two,.hero-grid{grid-template-columns:1.2fr 1fr}.about{grid-template-columns:.8fr 1.2fr}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.two{grid-template-columns:repeat(2,1fr)}
.section{padding:56px 0}.tint{background:var(--tint)}
.card{border:1px solid var(--line);border-radius:var(--r);padding:24px;background:var(--bg)}.card p{color:var(--muted)}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.btn{display:inline-block;background:var(--accent);color:#fff;border:2px solid var(--accent);padding:11px 22px;border-radius:10px;text-decoration:none;font-weight:600;font:inherit;font-weight:600;cursor:pointer}
.btn:hover{background:var(--accent-d);border-color:var(--accent-d);color:#fff}.btn.alt{background:transparent;color:var(--accent)}.btn.alt:hover{background:var(--tint);color:var(--accent-d)}
.note{border-left:4px solid var(--accent);background:var(--tint);padding:16px 20px;border-radius:0 var(--r) var(--r) 0}.note p{margin:.4em 0 0}
.cta{background:var(--accent);color:#fff;text-align:center;padding:52px 0}.cta .btn{background:#fff;color:var(--accent-d);border-color:#fff}.cta a:hover{background:var(--tint)}
.svc{padding:8px 0 32px;border-bottom:1px solid var(--line);margin-bottom:32px;scroll-margin-top:90px}.svc:last-child{border:0}
.steps li{margin-bottom:8px}
.legend{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.tag{display:inline-block;font-size:.78rem;font-weight:600;padding:3px 10px;border-radius:99px;border:1px solid var(--line)}
.tag.me{color:#0a7a4a;border-color:#0a7a4a}.tag.zo{color:#8a4fd0;border-color:#8a4fd0}.tag.collab{color:var(--accent);border-color:var(--accent)}
.project img{border-radius:8px;margin-bottom:12px}.meta{font-size:.9rem}
.partner-card{display:flex;gap:24px;align-items:center;border:1px solid var(--line);border-radius:var(--r);padding:24px;margin-bottom:32px}
.zo-logo{font-weight:800;font-size:1.5rem;letter-spacing:-.02em;border:2px solid var(--fg);border-radius:12px;padding:20px 24px}
.form{display:grid;gap:16px}.form label{display:grid;gap:6px;font-weight:600;font-size:.95rem}
input,select,textarea{font:inherit;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);width:100%}
input:focus,select:focus,textarea:focus,a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.hp{position:absolute;left:-9999px}.muted{color:var(--muted)}.small{font-size:.85rem}#form-status{margin:0;font-weight:600}
.prose h2{margin-top:1.6em}.prose li{margin-bottom:.4em}
.site-footer{border-top:1px solid var(--line);padding:40px 0 16px;background:var(--tint);font-size:.95rem}.foot{grid-template-columns:repeat(4,1fr)}.foot p{margin:.4em 0;color:var(--muted)}
.copy{margin-top:24px;color:var(--muted);font-size:.85rem}
@media(max-width:820px){.two,.hero-grid,.about,.cards.three,.cards.two,.foot{grid-template-columns:1fr}.hero{padding:32px 0}.partner-card{flex-direction:column;align-items:flex-start}
.menu-btn{display:block}nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);padding:10px 20px;flex-direction:column}nav.open{display:flex}.site-header{position:relative}}
