/* Shared design system — "forward-thinking management consultancy".
   White, editorial (serif headlines + clean sans body), restrained accent,
   generous whitespace. Linked by every page incl. the CEO survey. */

:root {
  --bg:#ffffff;
  --ink:#0f172a;
  --muted:#64748b;
  --line:#e6e8ec;
  --line-soft:#f4f6f8;
  --accent:#2347ff;        /* confident blue */
  --accent-dark:#16208c;
  --accent-soft:#eef1ff;
  --radius:14px;
  --serif:"Iowan Old Style","Palatino Linotype",Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body {
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--sans); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}

h1, h2, h3 { font-family:var(--serif); font-weight:600; letter-spacing:-.015em; color:var(--ink); margin:0; }
h1 { font-size:clamp(28px, 4.5vw, 40px); line-height:1.15; }
p { margin:0; }
a { color:var(--accent); text-decoration:none; }
a:hover { text-decoration:underline; }

.eyebrow {
  font-family:var(--sans); font-size:12px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--accent);
}
.muted { color:var(--muted); }
.wrap { max-width:680px; margin:0 auto; padding:0 22px; }

/* Buttons */
.btn {
  font-family:var(--sans); font-size:15px; font-weight:600; cursor:pointer;
  border:1px solid var(--line); background:#fff; color:var(--ink);
  border-radius:10px; padding:11px 20px; transition:.12s;
}
.btn:hover { background:var(--line-soft); }
.btn:disabled { opacity:.4; cursor:default; }
.btn-primary { background:var(--ink); color:#fff; border-color:var(--ink); }
.btn-primary:hover { background:#1e293b; }
.btn-ghost { border-color:transparent; color:var(--muted); padding:11px 12px; }
.btn-ghost:hover { color:var(--ink); background:var(--line-soft); }

/* Inputs */
input, textarea {
  font-family:var(--sans); font-size:16px; width:100%;
  padding:13px 15px; border:1px solid var(--line); border-radius:10px;
  background:#fff; color:var(--ink);
}
input::placeholder { color:#9aa3b2; }
input:focus, textarea:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }

/* Chrome */
.topbar {
  position:sticky; top:0; z-index:5; display:flex; align-items:center; gap:14px;
  padding:14px 22px; background:rgba(255,255,255,.9);
  backdrop-filter:saturate(180%) blur(8px); border-bottom:1px solid var(--line);
}
.brand { font-family:var(--sans); font-weight:700; letter-spacing:.04em; color:var(--ink); }
.brand .mark { color:var(--accent); }
.spacer { flex:1; }
.card { background:#fff; border:1px solid var(--line); border-radius:16px; }
