:root{
  --max: 1120px;
  --pad: 18px;
  --radius: 18px;
  --border: #0f172a;
  --muted: #475569;
  --bg: #ffffff;
  --soft: #f8fafc;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: "Times New Roman", Times, serif;
  line-height: 1.65;
  font-size: 18px;
  color:#0b1220;
  background: var(--bg);
}
a{color:inherit}
.container{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
header{
  border-bottom: 2px solid var(--border);
  padding: 14px 0;
  background: #fff;
}
.brand{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.brand img{
  height: 64px;
  width: auto;
  border-radius: 12px;
  border: 1px solid var(--border);
}
.brand h1{margin:0;font-size: 28px;letter-spacing:.2px}
.brand .tag{font-size:15px;color:var(--muted);margin-top:2px}
nav{
  margin-top: 12px;
  display:flex;gap:10px;flex-wrap:wrap;
}
nav a{
  text-decoration:none;
  padding:8px 12px;
  border:1px solid var(--border);
  border-radius: 999px;
  background:#fff;
}
nav a.active{background:var(--border);color:#fff}
main{padding: 18px 0 0}
.hero{
  padding: 22px 0 10px;
}
.hero h2{margin:0 0 10px;font-size: 30px}
.hero p{margin:0 0 14px;max-width: 75ch;color:#111827}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin: 14px 0 0}
.button{
  display:inline-block;
  padding:10px 14px;
  border:2px solid var(--border);
  border-radius: 999px;
  text-decoration:none;
  background:#fff;
}
.button.primary{background:var(--border);color:#fff}
.grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap:14px;
  padding: 12px 0 20px;
}
.card{
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding: 14px 14px 12px;
  background: #fff;
}
.card h3{margin:0 0 6px;font-size: 22px}
.small{font-size: 15px;color:var(--muted)}
hr.sep{border:none;border-top:1px solid var(--border);margin: 22px 0}
h2.section{margin: 0 0 10px;font-size: 26px}
ul{padding-left: 20px}
.notice{
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding: 12px 14px;
  background: var(--soft);
}
kbd{border:1px solid var(--border);border-bottom-width:2px;border-radius:6px;padding:0 6px}
footer{
  border-top: 2px solid var(--border);
  padding: 16px 0;
  margin-top: 24px;
  background:#fff;
}
.stack{display:grid;gap:10px}
.badge{
  display:inline-block;
  border:1px solid var(--border);
  padding:4px 10px;
  border-radius:999px;
  font-size:14px;
  background: #fff;
}
.embed{
  border:1px solid var(--border);
  border-radius: var(--radius);
  overflow:hidden;
  background:#fff;
}
.embed iframe{width:100%;height:760px;border:0}
@media (max-width:520px){
  body{font-size:17px}
  .brand img{height:56px}
  .hero h2{font-size:26px}
}
