:root{
  --bg:#f6f6f6;
  --paper:#ffffff;
  --ink:#0b0b0b;
  --muted:#555;
  --line:#111;
  --line-soft:#d9d9d9;
  --accent:#1a1a1a;

  --radius:6px;
  --radius-lg:10px;
  --shadow:none;

  --serif: ui-serif, Georgia, "Times New Roman", serif;
  --sans: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

*{box-sizing:border-box}
html,body{
  margin:0;padding:0;background:var(--bg);color:var(--ink);
  font-family:var(--sans); line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block;border-radius:var(--radius)}
.container{width:min(1100px,92%);margin:0 auto}

/* Top strip */
.topstrip{
  background:var(--ink);color:#fff;font-size:.9rem;
}
.topstrip .inner{
  display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;
}
.topstrip a{color:#fff;font-weight:800}

/* Header */
header{
  border-bottom:2px solid var(--line);
  background:var(--paper);
  position:sticky;top:0;z-index:40;
}
.nav{
  display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;
  padding:12px 0;
}
.logo{
  display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.8px;
}
.logo-mark{
  width:36px;height:36px;border-radius:0;
  background:var(--ink);
}
.nav-links{
  display:flex;gap:10px;flex-wrap:wrap;justify-content:center;
  font-weight:800;font-size:.95rem;
}
.nav-links a{
  padding:6px 2px;border-bottom:2px solid transparent;color:var(--muted);
}
.nav-links a:hover{
  color:var(--ink);border-color:var(--ink);
}
.nav-cta{
  border:2px solid var(--ink);padding:8px 12px;font-weight:900;border-radius:0;background:#fff;
}
.nav-cta:hover{background:var(--ink);color:#fff}

/* Hero */
.hero{
  background:var(--paper);
  border-bottom:1px solid var(--line-soft);
}
.hero-grid{
  display:grid;grid-template-columns:1.2fr .8fr;gap:18px;padding:30px 0;
}
.kicker{
  font-family:var(--mono);text-transform:uppercase;letter-spacing:1.2px;
  font-size:.82rem;color:var(--muted);
}
h1{
  font-family:var(--serif);
  font-size:clamp(2rem,4vw,3.1rem);
  line-height:1.1;margin:8px 0 10px;
}
.lead{font-size:1.08rem;color:var(--muted)}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.btn{
  border:2px solid var(--ink);padding:10px 14px;font-weight:900;border-radius:0;background:#fff;
}
.btn:hover{background:var(--ink);color:#fff}
.btn-ghost{
  border-color:var(--line-soft);color:var(--ink);
}
.btn-ghost:hover{border-color:var(--ink)}

/* Sections */
.section{padding:36px 0}
.section-head{
  display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-bottom:12px;
  border-bottom:1px solid var(--line-soft);padding-bottom:8px;
}
.section h2{
  font-family:var(--serif);
  font-size:clamp(1.5rem,2.6vw,2.1rem);
  margin:0;
}
.section p{color:var(--muted);margin:6px 0 0}

/* Editorial grid */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}

.card{
  background:var(--paper);
  border:1px solid var(--line-soft);
  padding:12px;
}
.card h3{
  font-family:var(--serif);
  margin:8px 0 6px;font-size:1.15rem;
}
.card p{margin:0;color:var(--muted)}
.card .meta{
  font-family:var(--mono);font-size:.78rem;color:var(--muted);
  text-transform:uppercase;letter-spacing:1px;margin-top:8px;
}

/* Feature list */
.feature{
  display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;
  padding:10px 0;border-bottom:1px dashed var(--line-soft);
}
.feature:last-child{border-bottom:0}
.feature-num{
  font-family:var(--mono);font-weight:900;color:var(--ink);
}

/* CTA band */
.cta{
  background:var(--paper);
  border-top:2px solid var(--line);
  border-bottom:2px solid var(--line);
  padding:16px;
  display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;
}

/* Page head */
.page-head{
  background:var(--paper);
  border-bottom:1px solid var(--line-soft);
  padding:22px 0 8px;
}
.breadcrumbs{color:var(--muted);font-size:.9rem}
.page-content{padding:16px 0 40px}
.page-content ul,.page-content ol{color:var(--muted)}
.page-content li{margin:6px 0}

/* Form */
.form{display:grid;gap:10px}
input,textarea{
  width:100%;padding:10px;border:1px solid var(--line-soft);border-radius:0;background:#fff;
  font-size:1rem;color:var(--ink);
}
input:focus,textarea:focus{
  outline:none;border-color:var(--ink);
}

/* Footer */
footer{
  margin-top:10px;background:var(--paper);
  border-top:2px solid var(--line);
  padding:22px 0;color:var(--muted);
}
.footer-grid{
  display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:16px;
}
.footer-links a{
  display:block;padding:6px 0;font-weight:800;color:var(--muted);
}
.footer-links a:hover{color:var(--ink)}

/* Cookies */
.cookie-banner{
  position:fixed;left:12px;right:12px;bottom:12px;z-index:9999;display:none;
  background:var(--paper);border:2px solid var(--ink);padding:12px;border-radius:0;
}
.cookie-inner{
  display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;
}
.cookie-banner h3{margin:0 0 6px;font-size:1rem}
.cookie-banner p{margin:0;color:var(--muted);font-size:.95rem}
.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}
.cookie-actions .btn{padding:8px 12px;font-size:.95rem}
.cookie-link{
  text-decoration:underline;text-underline-offset:3px;font-weight:900;
}

@media (max-width: 900px){
  .hero-grid,.grid-3,.grid-2,.footer-grid{grid-template-columns:1fr}
  .nav-links{display:none}
  .section-head{grid-template-columns:1fr}
  .cta{grid-template-columns:1fr}
  .cookie-inner{grid-template-columns:1fr}
}
