:root{
  --bg: #ffffff;
  --text: #0f172a;
  --muted: #475569;
  --border: #e5e7eb;
  --link: #2563eb;
}

/* Reset / base */
*{ box-sizing:border-box; }
html, body{
  margin:0;
  padding:0;
  background:#ffffff;
  color:var(--text);
  height:100%;
}

body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  line-height:1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Layout */
.container{
  max-width: 980px;
  margin: 0 auto;
  padding: 0 20px;
}

main.container{
  padding: 48px 20px 64px;
}

/* Header */
.top{
  position: sticky;
  top:0;
  z-index:20;
  background:#ffffff;
  border-bottom:1px solid var(--border);
}

.top .container{
  height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:var(--text);
  font-weight:700;
  letter-spacing:.2px;
}

.logo{
  height:28px;
  width:auto;
  display:block;
}

/* Navigation */
.nav a{
  text-decoration:none;
  color:var(--muted);
  margin-left:18px;
  font-weight:500;
  font-size:14px;
}
.nav a:hover{
  color:var(--text);
}

/* Page title */
.page-title{
  font-size: 42px;
  line-height:1.15;
  margin: 0 0 24px;
  letter-spacing:-.02em;
}

/* Content — NO CARD, NO FRAME */
.content{
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
  border-radius: 0;
}

/* Typography */
.content p{
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 17px;
}

.content h2{
  margin-top: 36px;
  margin-bottom: 12px;
  color: var(--text);
  letter-spacing:-.01em;
}

.content a{
  color: var(--link);
}

.content hr{
  border:0;
  border-top:
