:root { --ink:#1c1917; --muted:#57534e; --line:#e7e5e4; --bg:#fafaf9; --accent:#9a3412; --accent2:#c2410c; --tint:#fff7ed; }
/* service landings (body.svc) */
.svc * { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.svc { margin:0; font:16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color:var(--ink); background:var(--bg); }
.svc a { color:inherit; }
.svc header { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:18px 7vw; border-bottom:1px solid var(--line); background:#fff; }
.svc .brand { font:600 13px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; }
.svc nav a { font:14px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; margin-left:18px; text-decoration:none; }
.svc .hero { display:grid; grid-template-columns:1.4fr .8fr; gap:40px; padding:64px 7vw 48px; }
.svc .kicker { font:600 12px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); margin:0 0 14px; }
.svc h1 { font-weight:500; font-size:clamp(36px, 5vw, 64px); line-height:1.02; letter-spacing:-.03em; margin:0 0 18px; }
.svc .lead { font-size:20px; max-width:40rem; margin:0 0 22px; }
.svc .meta { font:14px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color:var(--muted); }
.svc .panel { background:var(--ink); color:#fafaf9; padding:28px; border-radius:18px; }
.svc .panel b { display:block; font:600 13px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; letter-spacing:.08em; text-transform:uppercase; color:#fdba74; margin-bottom:8px; }
.svc .panel p { margin:0 0 18px; }
.svc button, .svc .btn { display:inline-block; background:var(--accent2); color:#fff; border:0; border-radius:999px; padding:12px 18px; font:600 14px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; text-decoration:none; cursor:pointer; }
.svc section { padding:28px 7vw 10px; }
.svc h2 { font-size:28px; font-weight:500; letter-spacing:-.02em; margin:0 0 8px; }
.svc .note { color:var(--muted); margin:0 0 18px; }
.svc .grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; list-style:none; padding:0; margin:0; }
.svc .grid li, .svc .whom li { background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 16px 16px 18px; }
.svc .grid li { border-top:3px solid var(--accent2); }
.svc ol.steps { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.svc ol.steps li { background:var(--tint); border-radius:14px; padding:16px; }
.svc ol.steps span { font:600 12px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color:var(--accent); }
.svc .whom { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.svc details { background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px 16px; margin:0 0 8px; }
.svc summary { cursor:pointer; font:600 16px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.svc details p { margin:8px 0 0; color:var(--muted); }
.svc .cta { margin:36px 7vw 48px; background:#fff; border:1px solid var(--line); border-radius:20px; padding:28px; display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.svc form { display:grid; gap:10px; }
.svc input, .svc textarea { width:100%; border:1px solid var(--line); border-radius:10px; padding:12px; font:15px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.svc footer { padding:22px 7vw 36px; color:var(--muted); font:13px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; display:flex; justify-content:space-between; gap:12px; }
@media (max-width:800px)  {
.svc header, .svc .hero, .svc section, .svc .cta, .svc footer { padding-left:20px; padding-right:20px; }
.svc .hero, .svc .grid, .svc .whom, .svc .cta, .svc ol.steps, .svc footer { display:block; }
.svc nav { display:none; }
.svc ol.steps li, .svc .grid li, .svc .whom li { margin-bottom:10px; }
}
/* group hubs (body.hub) */
body.hub { margin:0; font:16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color:var(--ink); background:#fafaf9; }
.hub header, .hub main { padding:28px 7vw; }
.hub h1 { font-weight:500; font-size:clamp(36px,5vw,56px); letter-spacing:-.03em; margin:8px 0; }
.hub .kicker { font:600 12px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); }
.hub .grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; }
.hub .card { display:block; background:#fff; border:1px solid var(--line); border-top:3px solid var(--accent2); border-radius:14px; padding:16px; text-decoration:none; color:inherit; }
.hub .card b { display:block; font-weight:500; }
.hub .card span { display:block; margin-top:6px; color:#57534e; font:14px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
/* catalog (body.cat) */
body.cat { margin:0; font:16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color:var(--ink); background:var(--bg); }
.cat header, .cat main { padding:28px 7vw; }
.cat h1 { font-weight:600; font-size:clamp(32px,5vw,52px); letter-spacing:-.03em; margin:8px 0; }
.cat h2 { margin:28px 0 10px; font-size:22px; } .cat h2 a { color:var(--accent); }
.cat ul { columns:240px; padding:0; list-style:none; margin:0; } .cat li { margin:0 0 6px; break-inside:avoid; }
.cat li a { text-decoration:none; } .cat li a:hover { text-decoration:underline; } .cat small { color:var(--muted); }
/* shared */
.icon { width:24px; height:24px; color:var(--accent); vertical-align:middle; }
.svc .brand .icon { width:18px; height:18px; margin-right:6px; }
.mail { text-decoration:none; } .mail .icon { width:16px; height:16px; margin-right:4px; }
.e404 { margin:0; min-height:100vh; display:grid; place-items:center; font:16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; text-align:center; color:var(--ink); background:var(--bg); }

/* language switch */
.lang { display:inline-block; font:600 12px/1 system-ui, sans-serif; letter-spacing:.04em; padding:5px 8px; border:1px solid var(--line); border-radius:999px; color:var(--accent); text-decoration:none; background:#fff; }
.lang:hover { border-color:var(--accent); }
.langbar { margin:0 0 8px; text-align:right; }
